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