0

我们目前正在从 geojson 数据将图层加载到 mapbox GL 中。如果我们的 geojson 有一个包含点和多边形的特征集合,那么似乎没有办法让 mapbox gl 显示两者,因为您需要设置图层的类型。

有没有办法让一个图层有多种类型?似乎它无法处理多个。

   map.addLayer({
    "id": "route",
    "type": "line", //THIS SEEMS TO BE THE LIMITATION
    "source": "route",
   });
4

1 回答 1

5

你是对的,GL JS 不能每层处理多种类型。

但是,您可以通过创建多个图层来显示来自单个源的多种几何类型:

map.addLayer({
    "id": "route-line",
    "type": "line",
    "source": "route",
    "filter": ["==", "$type", "LineString"]
});

map.addLayer({
    "id": "route-point",
    "type": "circle",
    "source": "route",
    "filter": ["==", "$type", "Point"]
});

map.addLayer({
    "id": "route-fill",
    "type": "fill",
    "source": "route",
    "filter": ["==", "$type", "Polygon"]
});
于 2016-04-28T23:16:27.337 回答