如何区分Openlayers3中的功能

时间:2015-11-11 14:49:25

标签: openlayers-3

最近,我正在开发一个映射工具,并选择openlayers3作为前端映射APi。 在我的地图图层中,它有几何图形和图像,我想添加一个函数,当我点击不同类型的特征时,它会做不同的动作。

在代码中,我需要识别它来自图像或几何。非常感谢你们的任何帮助。

1 个答案:

答案 0 :(得分:0)

你做出了不错的选择。有几种方法可以做到这一点。您可以在要素中存储属性并进行检查,例如:

map.on('click', function(evt) {
  var feature = map.forEachFeatureAtPixel(evt.pixel,
    function(ft, layer) { return ft; }
  );
  // here I'm using feature.get('type') but can be any name
  if (feature && feature.get('type') == 'some_value') {
    // now you have the clicked feature
  }
});

请注意,所有要素(ol.Feature)都有几何。