我正在尝试从我的openlayers地图对象上拉出要素并更改地图上该要素的颜色。
olMap.getLayers().getArray()
是我一直用来获取图层的东西。这些实际上是功能吗?我想应用一个简单的样式,例如:
let selected_polygon_style = {
strokeWidth: 5,
strokeColor: '#ff0000'
};
当我叫olMap.getLayers().getArray()[0].getSource().getFeatures()
之类的东西时;我得到未定义的功能。
答案 0 :(得分:0)
getFeatures将是未定义的,调用它会导致错误。要在地图的任何图层中查找要素,请在调用图层之前检查是否为图层源定义了getFeatures:
olMap.getLayers().getArray().forEach(function(layer){
if (layer.getSource().getFeatures) {
var features = layer.getSource().getFeatures();
....
}
});