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

Event management for two or more features

如何使用 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
  }
});