Openlayers 更改现有样式';开放层3/4中的s图像颜色特性

Openlayers 更改现有样式';开放层3/4中的s图像颜色特性,openlayers,Openlayers,我想改变OL3款式的颜色 可以按如下方式创建样式: styles = { icon: new ol.style.Style({ image: new ol.style.Icon({ anchor: [0.5, 1], src: search_icon_url, color: '#87CEFA' }) }) }; 在不创建新样式的情况下,我希望通过编程调整现有图标的颜色 我试过了 styles.

我想改变OL3款式的颜色

可以按如下方式创建样式:

styles = {
     icon: new ol.style.Style({
       image: new ol.style.Icon({
         anchor: [0.5, 1],
         src: search_icon_url,
         color: '#87CEFA'
       })
     })
};
在不创建新样式的情况下,我希望通过编程调整现有图标的颜色

我试过了

styles.icon.color = "#00FF00";


既不工作,也不出错。我希望更新样式的原因是可以创建任意数量的图标,并且我希望颜色是唯一的,因此我需要动态调整它。

样式对象是不可变的。您可以使用来完成此操作。

这很好地解释了在没有抛出错误的情况下缺乏效果的原因。您是否愿意详细介绍一下您的答案,也许还可以举一个使用StyleFunction改变图像图标颜色的例子?
styles.icon.image_.color_ = [0,139,139,1];