如何在mapbox GL JS客户端中重置图层颜色?

时间:2019-06-19 09:45:56

标签: mapbox-gl-js mapbox-gl

我正在编写一个基于Mapbox GL JS的程序。我已将图层保存为mapbox样式,并为其添加了一些颜色。 在客户端,单击按钮,我正在更改该图层的颜色 Map.setPaintProperty(layerid,'circle-color','#ff00ff') 但是现在我还需要一个按钮,该按钮会将图层颜色重置为原始颜色(我在mapbox样式中给出)。

有什么想法吗?

1 个答案:

答案 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