Javascript 映射框:禁用一个要素渲染
在我的例子中,我只想禁用一个拉伸建筑的渲染,我正在寻找类似这样的东西Javascript 映射框:禁用一个要素渲染,javascript,mapbox-gl-js,Javascript,Mapbox Gl Js,在我的例子中,我只想禁用一个拉伸建筑的渲染,我正在寻找类似这样的东西 map.on('load', function () { map.addLayer({ 'id': '3d-buildings', 'source': 'mapbox', 'source-layer': 'building', "filter": ["!=", "id", "12345"], 'type': 'fill-extrusion'
map.on('load', function () {
map.addLayer({
'id': '3d-buildings',
'source': 'mapbox',
'source-layer': 'building',
"filter": ["!=", "id", "12345"],
'type': 'fill-extrusion',
'paint': {
'fill-extrusion-color': '#bbb',
'fill-extrusion-height': 10,
'fill-extrusion-base': 0,
'fill-extrusion-opacity': 1
}
});
})
以下表达式不正确:
"filter": ["!=", "id", "12345"]
mapbox-gl-0.44.1过滤器从当前要素的属性中检索属性值。确保建筑id位于属性中:
{
"type": "Feature",
"properties": {
"id": "12345",
"base_height": 30,
"height": 40
},
"geometry": {...}
}
}
Upd:[“id”]
。当然,您需要考虑可能的标识符类型:
"filter": ["!=", ["id"], 12345]
例如,单击建筑以隐藏它:[]否,它是一个开放的街道地图数据建筑,并且在中没有idproperties@StrangerintheQ是的,你是对的。见答案的补充。