来自单个 geoson 源的 Mapbox 多个多边形

Mapbox Multiple polygons from single geoson source

我正在尝试使用 Mapbox JS 从单个 Geoson 源绘制多个多边形。我正在跟进 来自一个 Geoson 源 (Mapbox link) combined with the realtime data documentation (Mapbox link) 的多个几何图形的教程。但是,我没有在地图上绘制多边形。 FeatureCollection 是绘制和更新多个多边形的正确方法吗?多边形的数量也会随时间变化。

使用 map.on('load'...),我得到了这个源、层和数据加载:

map.addSource('fire', { type: 'geojson', data: fire_url });
/*
        map.addLayer({
        'id': 'fire',
        'type': 'fill',
        'source': 'fire',
        'paint': {
        'fill-color': '#888888',
        'fill-opacity': 0.4
        },
        'filter': ['==', '$type', 'Polygon']
        });


        window.setInterval(function() {
            console.log('got data');
            map.getSource('fire').setData(fire_url);
        }, 1000);

我实时更新的数据示例:

{
  "features": [
    {
      "geometry": {
        "coordinates": [
          [
            -8.318497, 
            39.954263
          ], 
          [
            -8.317997, 
            39.954263
          ], 
          [
            -8.317997, 
            39.959263
          ], 
          [
            -8.318497, 
            39.954263
          ]
        ], 
        "type": "Polygon"
      }, 
      "properties": {}, 
      "type": "Feature"
    }
  ], 
  "type": "FeatureCollection"
}

您的 GeoJSON 无效。您可以在 http://geojsonlint.com/

进行测试

Polygons 不仅仅是点数组(如 LineStrings)。它们是点阵列的阵列,因为外部多边形内可以有孔和岛。