Mapbox GL - 如何在悬停时更改geojson行的宽度?

时间:2017-03-18 18:31:01

标签: javascript mapbox geojson mapbox-gl-js mapbox-gl

我有一个mapbox地图,我在其中添加了各种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
            }
        });

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

非常感谢...

1 个答案:

答案 0 :(得分:1)

毕竟这很简单,mapbox有一个属性。看起来像这样

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