我有几个mapbox数据集,每个数据集都有位于不同城市的一组要素。每个地图项都有一个名为city
的字段,其中包含地图项所在的城市(例如city = "new york"
)。在mapbox studio中,我具有一种由每个数据集构成的图层的样式。我想用包含所有带有city == "new york"
的要素的边界框加载地图(使地图视图适合要素bbox)。如何做到这一点,最好,而无需加载不满足city=="new york"
答案 0 :(得分:1)
在Mapbox Studio中选择相关图层后,选择要控制其可见性的属性。例如,假设您有兴趣为数据集中的每个功能显示一个文本字段(相同的逻辑也可以应用于图标图像)。选定图层的此属性后,在图层编辑器中单击“具有数据条件的样式”选项。然后,系统将提示您选择一个数据字段(在您的情况下为city
),然后提示您设置该数据字段的值(在您的情况下为new york
)。
答案 1 :(得分:1)
如果我对您的理解是正确的,那么您将拥有一个包含所有城市的底图,但是当您将地图加载到mapbox-gl-js中时,您希望将其仅过滤到一个特定的城市。
您可以通过致电:
map.setFilter('my-cities-layer', ['==', ['get', 'city'], 'new york']);
实际上,没有一种简单的方法来过滤所有层以仅包含带有该标记的数据。