我正在编写一个基于Mapbox GL JS的程序。我已将图层保存为mapbox样式,并为其添加了一些颜色。
在客户端,单击按钮,我正在更改该图层的颜色
Map.setPaintProperty(layerid,'circle-color','#ff00ff')
但是现在我还需要一个按钮,该按钮会将图层颜色重置为原始颜色(我在mapbox样式中给出)。
有什么想法吗?
答案 0 :(得分:2)
我认为您必须自己存储原始颜色。在设置新颜色之前,请执行以下操作:
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