Leaflet 按属性过滤要素,属性是Mapbox中的对象列表
我正在我的mapbox gl js地图中进行过滤。我有一个与此类似的功能:Leaflet 按属性过滤要素,属性是Mapbox中的对象列表,leaflet,mapbox,mapbox-gl-js,mapbox-gl,Leaflet,Mapbox,Mapbox Gl Js,Mapbox Gl,我正在我的mapbox gl js地图中进行过滤。我有一个与此类似的功能: [ { "latitude": 1.0, "longitude": 1.0, "name": null, "description": null, "id": 3, "mappings": [ { "type": "A", "mod
[
{
"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,模式为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要简单一点,但我无法编写一个合适的过滤器,因为据我所见,文档中甚至没有任何关于这种情况的信息。我还为这个问题添加了一个传单JS标记,因为传单库中可能有一个很好的解决方案
干杯一位地图盒创建者回答了我的问题。一位地图盒创建者回答了我的问题: