如何在地图框GL JS客户端中重置图层颜色



我正在编写一个基于Mapbox GL JS的程序。我已将图层保存为地图框样式并为其提供了一些颜色。在客户端,单击按钮时,我正在更改该图层的颜色 Map.setPaintProperty(layerid,'circle-color','#ff00ff')但是现在我想要另一个按钮,它将图层颜色重置回原始颜色(我以mapbox样式提供(。

有什么想法吗?

我认为您必须自己存储原始颜色。在设置新颜色之前,请执行以下操作:

const originalColor = map.getPaintProperty(layerid, 'circle-color');
// ...set the color on click
// on reset
map.setPaintProperty(layerid, 'circle-color', originalColore);

或者,您可以使用map.getStyle()存储完整的原始地图样式,然后使用 map.setStyle(originalStyle) : https://docs.mapbox.com/mapbox-gl-js/api/#map#getstyle 进行重置

最新更新