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

Openlayers 3 在openlayers样式中使用颜色文字设置不透明度,openlayers-3,Openlayers 3,在openLayers 3中,我采用了GeoJSON格式的一些特性,并为它们创建了一个样式 这些特征的值为“收入”,其值为“红色”、“蓝色”、“绿色”等 所以我想在特征的颜色中添加alpha,但是因为颜色是一个单词而不是RGB,所以我不能 我知道 所有的特征都是黑色的 我该由谁来修理 谢谢 更新 假设我将每个“income”属性的值从一个单词更改为一个RGB,因此现在不是“blue”,而是“0,0127”,然后我尝试组成一个字符串 var color = feature.get('income'

在openLayers 3中,我采用了GeoJSON格式的一些特性,并为它们创建了一个样式

这些特征的值为“收入”,其值为“红色”、“蓝色”、“绿色”等

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

我知道

所有的特征都是黑色的

我该由谁来修理

谢谢

更新

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

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

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

而且所有的特征都是黑色的。好吧,我不知道。

在你的字符串中添加rgba并删除bruckets。在这里检查

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)'
    })
})

谢谢,这个有用。我甚至不想添加
rgba
。你是怎么想的?也许有一种更简单的方法,使用单词或rgb设置颜色,然后设置不透明度。像
var beg='0,0127';var colorfinal='rgb('+beg+');var fill=new ol.style.fill({color:colorfinal,不透明度:0.3})。但这不起作用,我看不到任何不透明。有什么建议吗?我想这是唯一的办法。检查文档,我不接受任何不透明度属性。老实说,这不是我自己想的。我在文件里找到的。在这里检查第一行
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)'
    })
})