Colors openlayers多边形更改颜色

Colors openlayers多边形更改颜色,colors,polygon,openlayers-3,Colors,Polygon,Openlayers 3,我正在使用OL3和javascript在地图上绘制几个多边形。每个多边形来自WKT格式的数据库,如“POLIGON((39-9,…)”。我可以在地图上画它们,但我想改变每一个的填充颜色,但不知道怎么做。 这是我的密码: //WKTpoly -> this is my array of POLYLINES var format = new ol.format.WKT(); var vectorArea = new ol.source.Vector({}); for (var i=0;i<

我正在使用OL3和javascript在地图上绘制几个多边形。每个多边形来自WKT格式的数据库,如“POLIGON((39-9,…)”。我可以在地图上画它们,但我想改变每一个的填充颜色,但不知道怎么做。 这是我的密码:

//WKTpoly -> this is my array of POLYLINES
var format = new ol.format.WKT();
var vectorArea = new ol.source.Vector({});
for (var i=0;i<WKTpoly.length;i++) {    
    var featureGeom = format.readFeature(WKTpoly[i]);
    featureGeom.getGeometry().transform('EPSG:4326', 'EPSG:3857');
    vectorArea.addFeature(featureGeom);
}
    VectorMap = new ol.layer.Vector({
        name: map,
        source: vectorArea,
    });

    map.addLayer(VectorMap);    
//WKTpoly->这是我的多段线数组
var format=new ol.format.WKT();
var vectorArea=new ol.source.Vector({});

对于(var i=0;i嗯,在LessThanJake响应和更多的google搜索之后,我找到了解决方案,我必须创建一个样式并在addFeature()之前调用setStyle():


感谢LessThanJake指出了正确的方向。

或者您可以将图层设置为使用函数作为样式

函数签名是

var makeStyle = function(feature,resolution) {

return [styles];
};
可以使用此选项按特征和分辨率(缩放级别)管理样式。
由于在每次功能渲染时都会调用该函数,因此需要将样式缓存在js对象中以获得性能。

我建议查看GIS StackExchange以了解openlayers问题!
var makeStyle = function(feature,resolution) {

return [styles];
};