我正在我的mapbox-gl-js地图中进行过滤。我有一个功能与此相似:
[
{
"latitude": 1.0,
"longitude": 1.0,
"name": null,
"description": null,
"id": 3,
"mappings": [
{
"type": "A",
"mode": [
"1",
"2",
"3"
]
},
{
"type": "B",
"mode": [
"2",
"1",
"5"
]
}
]
}
]
现在,我想创建一个过滤器,该过滤器仅显示具有类型= A AND模式= 1的功能。这样复杂的过滤可能吗?我在用这样的表达式苦苦挣扎:
this.map.setFilter('points2', ['==', ['get', 'type', ['object', ['get', 'mappings']]], 'A']));
但这似乎没有任何意义。
我还尝试操作来自后端的数据,并根据geoJson创建了以下数据:
[
{
"latitude": 1.0,
"longitude": 1.0,
"name": null,
"description": null,
"id": 3,
"mappings": {
"A": [
"1",
"2",
"3"
],
"B": [
"3",
"2",
"1"
]
}
}
]
它看起来比以前的json容易一些,但我无法编写适当的过滤器,因为据我所知,文档甚至都没有说出这种情况。我还向该问题添加了Leafletjs标记,因为也许在传单库中有一个不错的解决方案。
干杯
Mapbox的一位创建者回答了我的问题:https : //github.com/mapbox/mapbox-gl-js/issues/8963。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句