我正在尝试从geojson文件中过滤添加到地图的图层。每次单击按钮以过滤地图时,它都会隐藏整个图层,而不是该图层上的单个元素。有人可以告诉我我要去哪里了/不了解.setFilter()
我尝试了多种使用过滤器的方法,例如map.setFilter('allBuildings',['==','properties.name','buildingone']);
但是,它仍然隐藏了整个图层。如果有人可以向正确的方向推动我,我将不胜感激。谢谢
在这里,我将源和图层添加到地图上,一切正常。
map.addSource('buildings', {type: 'geojson', data: '/buildings.geojson'});
map.addLayer({
"id": "allBuildings",
"type": "symbol",
"source": "buildings",
"layout": {
"icon-image": "marker-building",
"icon-size": 0.25
}
});
然后我尝试使用过滤该层
map.setFilter('allBuildings', ['>', 'properties.height', '30']);
这时,它隐藏了图层,而不仅仅是隐藏高度大于30的对象。
这是我的geojson文件的一部分。
{
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"properties": {
"name": "buildingone",
"height": "52",
},
"geometry": {
"type": "Point",
"coordinates": [
114.1454573,
22.2760386
]
}
}
]
}