按属性过滤功能,该属性是Mapbox中的对象列表

我正在过滤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','mappings']]],'A']));

但这似乎没有意义。

我还尝试操纵来自后端的数据,并根据geoJson创建了

[
    {
        "latitude": 1.0,"mappings": {
            "A": [
                "1","3"
            ],"B": [
                "3","1"
            ]
        }
    }
]

它看起来比以前的json容易一些,但我无法编写适当的过滤器,因为据我所知,文档甚至都没有说出这种情况。我还向这个问题添加了Leafletjs标记,因为也许在传单库中有一个不错的解决方案。

欢呼

Loewe2658 回答:按属性过滤功能,该属性是Mapbox中的对象列表

Mapbox的一位创建者回答了我的问题:https://github.com/mapbox/mapbox-gl-js/issues/8963

本文链接:https://www.f2er.com/3125443.html

大家都在问