两个或多个功能的事件管理

Event management for two or more features

本文关键字:功能 事件 管理 两个      更新时间:2023-09-26

如何使用 Openlayers 3 事件管理进行编码。

我有两个功能需要管理,但我还没有找到如何使用ol.interaction.Select。

但也许这不是正确的方法。

使用Openlayers2的示例

select = new OpenLayers.Control.SelectFeature([layer_1, layer_2]);
layer_1.events.on({"featureselected": do something...... });     
layer_2.events.on({"featureselected": do something...... }); 
map.addControl(select); 
select.activate();

使用 OL 3,您可以像这样向 ol.interaction.Select 构造函数添加层array

var selectInteraction = new ol.interaction.Select({
  layers: [vectorLayer1]
});
var selectInteraction2 = new ol.interaction.Select({
  layers: [vectorLayer2]
});
map.addInteraction(selectInteraction);
map.addInteraction(selectInteraction2);
// do the same with other interaction
selectInteraction.on('select', function(evt) {
    if(evt.selected.length > 0){
    // do something
  }
});