Openlayer 4在选择特征后获取多边形坐标

时间:2017-04-23 19:27:54

标签: javascript openlayers

我希望在使用interaction选择功能后获取坐标。选择。

我的代码片段:

  var selectf = new ol.interaction.Select({
    layers: [vectorLayer],
     }); 
   map.addInteraction(selectf); 


  selectf.on('select', function(evt) {

//here I want read coordinates of selected feature
}); 

我怎么做?

2 个答案:

答案 0 :(得分:1)

选择'选择'事件,您可以使用以下方法从矢量要素中获取坐标。

select.on('select', function(event) {
console.log(event.selected[0].getGeometry().getCoordinates());

  });

答案 1 :(得分:1)

@BruceWayne的答案对于从诸如geojson之类的来源获得的所有标准几何都是正确的(问题确实指定了多边形),但是如果您使用的是OpenLayers特有的非标准圆几何,则将需要特殊情况:

select.on('select', function(event) {
  var geom = event.selected[0].getGeometry();
  if (geom.getType() == 'Circle') {
    console.log(geom.getCenter());
    console.log(geom.getRadius());
  } else {
    console.log(geom.getCoordinates());
  }
});