最近,我正在开发一个映射工具,并选择openlayers3作为前端映射APi。 在我的地图图层中,它有几何图形和图像,我想添加一个函数,当我点击不同类型的特征时,它会做不同的动作。
在代码中,我需要识别它来自图像或几何。非常感谢你们的任何帮助。
答案 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
)都有几何。