从openlayers地图中获取功能?

时间:2018-10-12 20:17:56

标签: javascript gis openlayers openlayers-3

我正在尝试从我的openlayers地图对象上拉出要素并更改地图上该要素的颜色。

olMap.getLayers().getArray() 

是我一直用来获取图层的东西。这些实际上是功能吗?我想应用一个简单的样式,例如:

    let selected_polygon_style = {
      strokeWidth: 5,
      strokeColor: '#ff0000'
    };

当我叫olMap.getLayers().getArray()[0].getSource().getFeatures()之类的东西时;我得到未定义的功能。

1 个答案:

答案 0 :(得分:0)

如果layer [0]不是矢量图层,则

getFeatures将是未定义的,调用它会导致错误。要在地图的任何图层中查找要素,请在调用图层之前检查是否为图层源定义了getFeatures:

olMap.getLayers().getArray().forEach(function(layer){
  if (layer.getSource().getFeatures) {
    var features = layer.getSource().getFeatures();
    ....
  }
});
相关问题