Как сбросить цвет слоя в mapbox GL JS на стороне клиента? - PullRequest
0 голосов
/ 19 июня 2019

Я пишу программу, основанную на Mapbox GL JS.Я сохранил свой слой в стилях mapbox и дал им немного цвета.На стороне клиента, по нажатию кнопки я меняю цвет этого слоя на Map.setPaintProperty(layerid,'circle-color','#ff00ff'), но теперь я хочу еще одну кнопку, которая вернет цвет слоя обратно к исходному (который я дал в стиле mapbox).

Есть мысли?

1 Ответ

2 голосов
/ 21 июня 2019

Я думаю, вы должны хранить оригинальный цвет самостоятельно.Перед установкой нового цвета выполните:

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

...