我正在使用 mapbox 进行室内项目,我正在寻找一种方法来显示/隐藏具有特定属性的特征(楼层)level=x
。在 mapboxjs 的第一个版本中,可以使用这个. 现在在 GL 版本中,我可以使用过滤器轻松显示/隐藏图层,但这不是我的目标,因为图层已经定义(房间、走廊、楼梯......)并且不依赖于楼层:
{
"id": "rooms",
"filter": [
"all", [
"==",
"type",
"room"
], [
"!in",
"subtype",
"stairs",
"elevator"
]
],
"source": "indoorSource",
"source-layer": "indoor",
...
},
{
"id": "handrails",
"filter": [
"==",
"handrail",
"yes"
],
"source": "indoorSource",
"source-layer": "indoor",
...
}
我可以查询我想使用哪些功能:
map.querySourceFeatures("indoorSource", {sourceLayer: "indoor", filter: ["==", "level", "2"]})
但我没有找到显示/隐藏返回功能的方法。
有关信息:indoorSource 是来自网络服务器的矢量图块:
"indoorSource": {
"type": "vector",
"tiles": ["http://xxx.xxx/tiles/{z}/{x}/{y}.pbf"]
}
提前致谢,
蒂博