如何在Mapbox Gl JS Vector图层中单击时突出显示功能,如第二幅图像所示

时间:2019-07-03 09:34:42

标签: mapbox mapbox-gl-js mapbox-gl

如何在图层中突出显示要素。第一张图片显示的是图层,第二张图片是单击时突出显示的所选要素。如何执行此操作?

Vector Layer in Mapbox

Selected Feature Highlighted Like This

3 个答案:

答案 0 :(得分:1)

假设链接到的矢量层屏幕截图具有多边形数据,而不仅仅是栅格图层,则可以使用Feature State来完成此操作。这是一个使用功能状态在客户端运行时修改样式的示例:https://docs.mapbox.com/mapbox-gl-js/example/hover-styles/

出于您的目的,您可以使用"click"事件来触发多边形的样式更改,而不必使用上面示例使用的"mousemove""mouseleave"事件。


⚠️免责声明:我目前在Mapbox⚠️

工作

答案 1 :(得分:0)

也许这个问题可以解决?

https://gis.stackexchange.com/questions/326243/mapbox-gl-feature-manipulation/326394#326394

您必须更改颜色属性并重置源

答案 2 :(得分:0)

我已经解决了这个问题。我们可以使用深色背景层,并使用同一多边形的附加层通过增加背景层的背景不透明度来使效果类似。