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

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

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

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

非常感谢...

最佳答案

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

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

看起来像这样:

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

关于javascript - Mapbox GL - 如何在悬停时更改 geojson 线的宽度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42878279/

相关文章:

javascript - $scope 在 $http 调用中未定义

javascript - 何时以及为何使用 &?、=?、@?在 AngularJS 中?

android - Mapbox setCameraPosition 未正确居中 View

Mapbox GL JS : JSON points disappear

javascript - map 框/传单上的聚类标记

javascript - 如何在 RequireJS (AMD) 环境中访问 node.js 模块?

javascript - Element.getElementByTag ("mytag")有时返回空

javascript - 为什么 WMS(网络 map 服务)请求以图 block 形式返回?

android - MapBox queryRenderedFeatures 返回太多值

python - 如何使用 python-geojson 从 python 转储格式化 geoJSON 文件?