Leaflet 按属性过滤要素,属性是Mapbox中的对象列表

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

我正在我的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,模式为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标记,因为传单库中可能有一个很好的解决方案


干杯

一位地图盒创建者回答了我的问题。

一位地图盒创建者回答了我的问题: