从Mapbox-GL-JS中具有多种类型的GeoJSON文件中渲染要素集合

问题描述 投票:0回答:1

我们目前正在从geojson数据中将图层加载到mapbox GL中。如果我们的geojson具有包含点和多边形的要素集合,则由于需要设置图层类型,因此似乎没有办法同时显示mapbox gl。

是否有一种方法可以使图层具有多种类型?似乎无法处理多个。

   map.addLayer({
    "id": "route",
    "type": "line", //THIS SEEMS TO BE THE LIMITATION
    "source": "route",
   });
mapbox mapbox-gl mapbox-gl-js
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"]
});
© www.soinside.com 2019 - 2024. All rights reserved.