2017-10-05 223 views
0

我正在關注此example以使用mapbox可視化地圖上的數據。我使用下面的代碼:使用mapbox可視化動態數據

<script> mapboxgl.accessToken = 'ACCESS_TOKEN; var map = new mapboxgl.Map({ 
    container: 'map', 
    style: 'mapbox://styles/mapbox/light-v9', 
    zoom: 12, 
    center: [-122.447303, 37.753574] }); 

map.on('load', function() { 

    map.addLayer({ 
     'id': 'population', 
     'type': 'circle', 
     'source': { 
      type: 'vector', 
      url: 'mapbox://examples.8fgz4egr' 
     }, 
     'source-layer': 'sf2010', 
     'paint': { 
      // make circles larger as the user zooms from z12 to z22 
      'circle-radius': { 
       'base': 1.75, 
       'stops': [[12, 2], [22, 180]] 
      }, 
      // color circles by ethnicity, using data-driven styles 
      'circle-color': { 
       property: 'ethnicity', 
       type: 'categorical', 
       stops: [ 
        ['White', '#fbb03b'], 
        ['Black', '#223b53'], 
        ['Hispanic', '#e55e5e'], 
        ['Asian', '#3bb2d0'], 
        ['Other', '#ccc']] 
      } 
     } 
    }); }); </script> 

我的問題是,我有一個大小可變的數據集,這是用戶查詢的結果,我想我的可視化數據集。 如何使用mapbox獲取此行爲? 謝謝。

回答

0

如果數據足夠小,您可以簡單地將它全部加載到瀏覽器中作爲GeoJSON對象,然後使用geojson來源顯示它。請參閱this example

如果數據發生變化,您可以用.setData(newdata)example簡單更新源對象。