如何在OpenLayers 4中设置多边形的样式



使用OpenLayers 4,我将一个或多个多边形从一个层复制到另一层,并且由于它们没有样式,我想分配它们。我可以在图层上放置样式,但多边形没有导出样式。这就是为什么我尝试在没有成功的情况下为多边形构成风格的原因。以下代码返回" TypeError:...不是函数"

var Polygon= new ol.style.Style({
          fill: new ol.style.Fill({
            color: 'rgba(255, 255, 255, 0.5)',//'#ffffff'
          }),
          stroke: new ol.style.Stroke({
            color: '#ffcc33',
            width: 4
          })
        });
        getDrawingLayer().getSource().addFeatures(select.getFeatures().getArray());//pass the polygons
         //getDrawingLayer().setStyle(Polygon)};//succes
getDrawingLayer().getSource().getFeatures().setStyle(Polygon);//try to set the style of polygons

我找到了一个解决方案:而不是

color: 'rgba(255, 255, 255, 0.5)',

我放

color: [255, 255, 255, 0.5],

好吧,我明白,因为该层是一个数组,我必须从中分配每个功能用

getDrawingLayer (). getSource (). forEachFeature (function (feature) {
feature.setStyle (Polygon);});

最新更新