我有几个mapbox数据集,每个数据集都有一个位于不同位置的特征集合。城市. 每个特征都有一个名为 city
包含该特征所在的城市(如 city = "new york"
). 在mapbox studio中,我有一个由这些数据集组成的图层样式。我想加载一个地图,它的边界框包含了所有的特征,并带有 city == "new york"
(将地图视图贴合到特征bbox)。如何才能达到这个目的。最好 而不会加载不满意的功能 city=="new york"
如果我没有理解错的话,你有一个包含所有城市的基图,但是当你用mapbox-gl-js加载地图时,你想把它们过滤到一个特定的城市。
你可以通过调用:
map.setFilter('my-cities-layer', ['==', ['get', 'city'], 'new york']);
没有一个简单的方法可以过滤。都 图层,以便只包含带有该标记的数据,不过。
在 Mapbox Studio 中选择相关图层后,选择您想要控制其可见性的属性。例如,假设您有兴趣为数据集中的每个特征显示一个文本字段(同样的逻辑也可以应用于图标图像)。一旦选择了图层的这个属性,点击图层编辑器中的 "使用数据条件的样式 "选项。然后你会被提示选择一个数据字段(在你的情况下将是 city
),并随后提示为该数据字段设置数值(在您的情况下,该字段将是 new york
).