通过Mapbox的过滤器进行有效加载

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

我有几个mapbox数据集,每个数据集都有一个位于不同位置的特征集合。城市. 每个特征都有一个名为 city 包含该特征所在的城市(如 city = "new york"). 在mapbox studio中,我有一个由这些数据集组成的图层样式。我想加载一个地图,它的边界框包含了所有的特征,并带有 city == "new york"(将地图视图贴合到特征bbox)。如何才能达到这个目的。最好 而不会加载不满意的功能 city=="new york"

mapbox mapbox-gl-js mapbox-gl
1个回答
1
投票

如果我没有理解错的话,你有一个包含所有城市的基图,但是当你用mapbox-gl-js加载地图时,你想把它们过滤到一个特定的城市。

你可以通过调用:

map.setFilter('my-cities-layer', ['==', ['get', 'city'], 'new york']);

没有一个简单的方法可以过滤。 图层,以便只包含带有该标记的数据,不过。


1
投票

在 Mapbox Studio 中选择相关图层后,选择您想要控制其可见性的属性。例如,假设您有兴趣为数据集中的每个特征显示一个文本字段(同样的逻辑也可以应用于图标图像)。一旦选择了图层的这个属性,点击图层编辑器中的 "使用数据条件的样式 "选项。然后你会被提示选择一个数据字段(在你的情况下将是 city),并随后提示为该数据字段设置数值(在您的情况下,该字段将是 new york).

© www.soinside.com 2019 - 2024. All rights reserved.