Подтвердить что ты не робот

Динамически менять цвет многоугольника в листовке?

Для тех, кто знаком с Leaflet, знаете ли вы способ динамического изменения цвета многоугольника? Например, возьмите круг, определенный следующим образом:

window.circle = L.circle([51.508, -0.11], 500, {
color: 'red',
fillColor: '#ffffff',
    fillOpacity: 0.5
}).addTo(map);

Затем позже, когда пользователь нажимает кнопку где-то на интерфейсе (например), я хочу изменить цвет круга следующим образом:

window.circle.options.fillColor = "#dddddd";

Код меняет значение для window.circle.options.fillColor, но это изменение не отражается изменением цвета многоугольника на карте. Я искал, но ничего не нашел. Любые идеи?

Спасибо.

4b9b3361

Ответ 1

L.Circle extends L.Path (http://leafletjs.com/reference.html#path), которые имеют метод setStyle( <Path options> object ), и вы можете применить новый стиль как window.circle.setStyle({fillColor: '#dddddd'});

Ответ 2

Если вы ищете что-то вроде этого:

const circle = L.circle([lat, lng], {
   style: style,
   onEachFeature: onEachFeature,
});

Эти параметры доступны для данных geoJson, а именно: L.geojson().....: D

Итак, для многоугольника. Пытаться,

circle.setStyle({
    color: 'red'
});