选择事件以获取openlayers3中的坐标

时间:2015-11-16 14:37:34

标签: openlayers-3

我希望您使用精选互动添加功能,但 e.coordinate显示未定义

var select = new ol.interaction.Select({
  style: new ol.style.Style({
    stroke: new ol.style.Stroke({
      color: '#0288D1',
      width: 2
    })
  })
});
map.addInteraction(select);

select.on('select', function(e) {

  var feat = new ol.Feature({
    geometry: new ol.geom.Point(e.coordinate),
    style: style1
  });
  alert(e.coordinate);
  feat.setStyle(style1);

  layerVector.getSource().addFeature(feat);
});

如果有人知道原因,请告诉我如何通过此选择互动点击查看器时获取坐标。

1 个答案:

答案 0 :(得分:4)

更新

您在评论(关于听众)中提出的问题可以更轻松如果您成为API文档的朋友。在我开始时很难全部了解它们,但是文档更好,更好,所以让它成为你的源头。

OpenLayers的每个部分都有自己的监听器,例如,单击ol.Map,滚动到“ Fires:”部分,您将看到几个监听器,与ol.View等相同。

要在ol.interaction.Select侦听器中使用单击坐标:

select.on('select', function(evt){
    var coord = evt.mapBrowserEvent.coordinate;
    console.info(coord);
    // ...
});