Mapbox GL - 如何在悬停时更改Geojson线的宽度



我有一个地图框地图,我在其中添加了各种geojson线。我像这样添加它们

map.addSource('diklodartlo', diklodartlo);
        map.addLayer({
            'id': 'diklodartlo',
            'type': 'line',
            'source': 'diklodartlo',
            'layout': {
                'line-cap': 'round',
                'line-join': 'round'
            },
            'paint': {
                'line-opacity': 0.75,
                'line-color': '#747474',
                'line-width': 2
            }
        });

每行还有一个相应的标记,悬停时会显示弹出窗口,其中包含有关路径的其他信息。Now我还想"突出显示"相应的行 - 增加其"行宽",以便用户知道选择了哪一行。我的想法是从标记中获取 id 属性,将其与行的 id 属性配对,然后更改行"线宽"。但是说起来容易做起来难 - 我知道如何获取所选标记的属性,但不知道如何在运行时访问层并更改行的宽度。有人可以建议我怎么做吗?

多谢。。。

所以这毕竟很简单,mapbox 有一个属性。

https://docs.mapbox.com/mapbox-gl-js/api/#map#setpaintproperty

看起来像这样:

map.setPaintProperty(//hovered trail//, 'line-width', //desired width//);

最新更新