我已经使用OpenLayer3创建了带有矢量层的地图。
我现在想做的是遍历向量层,获取坐标并将其存储在数组中。

我尝试过这样的事情:

var store = vectorLayer.getGeometry().getExtent();


但是我收到未定义的函数警告。

我也尝试这样做:

var source = layer.getSource();
var features = source.getFeatures();


但是我也得到了未定义的函数警告:

 TypeError: Cannot read property 'getExtent' of undefined


那就是我的代码的一部分:

var url="http://localhost:8080/geoserver/wfs?&service=wfs&version=1.1.0&request=GetFeature&typeNames=dSpatialAnalysis:categoriesdata";
var shops_layer=new ol.layer.Vector({
    title: 'Shops',
    source: new ol.source.Vector({
        url: '/cgi-bin/proxy.cgi?url='+ encodeURIComponent(url),
        format: new ol.format.WFS({
        })
    }),
    style: iconStyle

});


map = new ol.Map({
    target:'map',
    renderer:'canvas',
    view: view,
    layers: [newLayer, shops_layer],
});

最佳答案

它不会改变最终结果,但可以使用forEachFeature完成:

var source = shops_layer.getSource();
source.forEachFeature(function(feature){
  var coord = feature.getGeometry().getCoordinates();
  // ...
});

07-28 05:50