在 openlayers 样式中使用颜色文字设置不透明度

set opacity with color literal in openlayers style

在 openLayers 3 中,我采用 GeoJSON 格式的一些功能并为它们创建样式。

特征的值为 "income",其值为 "red"、"blue"、"green" 等

所以我想为特征的颜色添加 alpha,但因为颜色是一个词而不是 RGB,所以我不能。

我愿意

var color = feature.get('income');

fill: new ol.style.Fill({
   color: [color, 0.75]
})

并且所有特征都是黑色的。

我该找谁解决这个问题?

谢谢

更新

假设我将每个 "income" 属性的值从单词更改为 RGB,所以现在不是 "blue",而是“0,0,127”,然后我尝试组成一个字符串

var color = feature.get('income');
var colorfinal = '[' + color + ',0.3]';

var fill = new ol.style.Fill({
    color: colorfinal
});

而且所有功能仍然是黑色的。好吧,打败我了。

在您的字符串中添加 rgba 并删除括号。在这里查看

new ol.style.Style({
    stroke: new ol.style.Stroke({
        color: 'rgba(0, 0, 0, 0.8)',
        lineDash: [10, 10],
        width: 3
    }),
    fill: new ol.style.Fill({
        color: 'rgba(255, 255, 255, 0.5)'
    })
})