我正在将geojson文件加载到openlayers中以显示一些多边形。从该文件中,我还创建了这些多边形所有名称的列表。
现在,我想更改从列表中选择的多边形的颜色(单击名称)。
我试过创建一个样式(http://docs.openlayers.org/library/feature_styling.html),但是我找不到如何将此样式添加到多边形中。我怎样才能做到这一点?
我正在将geojson文件加载到openlayers中以显示一些多边形。从该文件中,我还创建了这些多边形所有名称的列表。
现在,我想更改从列表中选择的多边形的颜色(单击名称)。
我试过创建一个样式(http://docs.openlayers.org/library/feature_styling.html),但是我找不到如何将此样式添加到多边形中。我怎样才能做到这一点?
Answers:
您可能只需要创建样式符号化器哈希集并将其分配给选定的多边形,然后再将其添加到图层即可:
var selected_polygon_style = {
strokeWidth: 5,
strokeColor: '#ff0000'
// add more styling key/value pairs as your need
};
selectedFeature.style = selected_polygon_style;
layer.addFeatures([selectedFeature]);
在此页面(http://docs.openlayers.org/library/feature_styling.html)中,您可以找到有关可以修改的样式属性的许多信息:
在其他答案中使用案例。
只是更改“ setStyle()”的用法
这个案子对我有用。
var selected_polygon_style = {
strokeWidth: 5,
strokeColor: '#ff0000'
// add more styling key/value pairs as your need
};
selectedFeature.setStyle(selected_polygon_style);
layer.addFeatures([selectedFeature]);
Whit OpenLayers 4.6.5更改颜色我正在使用此:
myLayer.getSource().getFeatures()[1].setStyle(new ol.style.Style({
image: new ol.style.Icon(/** @type {module:ol/style/Icon~Options} */({ // /** @type {olx.style.IconOptions} */
color: '#00ffff', // #FF0000
crossOrigin: 'anonymous',
src: '/img/dot.png'
}))
}));
getFeatures()[1]
是我功能的元素之一。如果我要更改所有功能,那么我将使用循环。