У меня есть OSM с векторным слоем (три круга с местоположениями, загруженными из файла GEOJSON). Нажатие на элемент (круг) вызывает изменение цвета круга. С этой работой все в порядке:
map.on('click', function (e) {
var pixel = map.getEventPixel(e.originalEvent);
map.forEachFeatureAtPixel(pixel, function (feature) {
style1 = new ol.style.Style({image: new ol.style.Circle( ({ radius: 10, fill: new ol.style.Fill({ color: '#3ED120' }) }))
});
if (feature) {
console.info(style.getImage().getFill().getColor());
feature.setStyle(style1);
}
});
});
Итак, я проверил цвет круга перед изменением. Результат правильный (красный: # ff0000). Снова щелкнув по кружку, я ожидаю, что в результате получится цвет "# 3ED120", но console.info покажет, что он по-прежнему "# ff0000", хотя круг на карте меняет свой цвет с первого клика с красного на зеленый (# 3ED120).
Что не так? Нужно ли обновлять слой?
Информация: Я хочу зачитать цвет круга для запроса, если круг уже был нажат (тогда круг уже зеленый).