在openlayers样式

时间:2015-10-24 20:40:31

标签: openlayers-3

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

这些功能的“收入”值具有“红色”,“蓝色”,“绿色”等值。

所以我想在功能的颜色上添加alpha,但因为颜色是单词而不是RGB我不能。

我做

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

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

并且所有功能都是黑色的。

我该解决这个问题?

由于

更新

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

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

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

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

1 个答案:

答案 0 :(得分:3)

在你的字符串中添加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)'
    })
})