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 は Web サーバーからのベクター タイルです。
"indoorSource": {
"type": "vector",
"tiles": ["http://xxx.xxx/tiles/{z}/{x}/{y}.pbf"]
}
前もって感謝します、
ティボー