Openlayer 5 - цвет стиля запроса дает неверный результат - PullRequest
0 голосов
/ 29 марта 2019

У меня есть 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).

Что не так? Нужно ли обновлять слой?

Информация: Я хочу зачитать цвет круга для запроса, если круг уже был нажат (тогда круг уже зеленый).

...