Mapbox如何编写带停止的图层绘制属性,以便它能够支持要素状态?

Mapbox如何编写带停止的图层绘制属性,以便它能够支持要素状态?,mapbox,mapbox-gl-js,Mapbox,Mapbox Gl Js,我使用的是mapbox gl js 0.46.0。我利用了setFeatureState API(>=0.46.0),它对于“悬停在特性上”之类的用例具有更好的性能 我已经决定对一个具有两种状态的特征使用一个图层,一个是“无”,另一个是“已选择”。不幸的是,由于文档和示例不足,我无法完全同步这两个州的视觉效果 例如,如果我想拥有一个基于缩放级别的带有停止的线宽属性,那么如何为相应的“选定”和“无”状态编写此类表达式 "paint": { "line-color": [

我使用的是mapbox gl js 0.46.0。我利用了setFeatureState API(>=0.46.0),它对于“悬停在特性上”之类的用例具有更好的性能

我已经决定对一个具有两种状态的特征使用一个图层,一个是“无”,另一个是“已选择”。不幸的是,由于文档和示例不足,我无法完全同步这两个州的视觉效果

例如,如果我想拥有一个基于缩放级别的带有停止的线宽属性,那么如何为相应的“选定”和“无”状态编写此类表达式

 "paint": {
            "line-color": [
                "match",[ "string", [ "feature-state", "line_color" ], "none" ],
                    "selected", "hsl(189, 87%, 37%)",
                    "none", "hsl(189, 87%, 37%)",
                    "hsl(189, 87%, 37%)"
                ],
            "line-width":  [
                "match",[ "string", [ "feature-state", "line_width" ], "none" ],
                    "selected", 4,
                    "none", 3,
                    3
                ],
            "line-opacity": [
                "match",[ "string", [ "feature-state", "line_opacity" ], "none" ],
                    "selected", 0.68,
                    "none", 0.38,
                    0.38
                ]
        }