2016-02-11 46 views
0

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

回答

1

例如隨着OL 3,您可以添加圖層的arrayol.interaction.Select構造是這樣的:

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 
    } 
}); 
+0

沒關係! ;-) 謝謝 – Mides