我有一个带有矢量层的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)。
怎么了?我需要刷新图层吗?
信息:我想读出一个查询用的圆圈的颜色,如果圆圈已经被按下(那是圆圈已经是绿色的时候)。