2017-06-29 83 views
0

我想以編程方式觸發選擇事件,但我不知道如何。所以,這就是我選擇創建互動:如何以編程方式觸發選擇事件

var selection = new ol.interaction.Select({ 
    ... 
}); 

selection.on('select', function (event) { 
    ... here is some action or event I want to trigger 
}); 

在我的代碼另一部分,我把新的功能選擇:

selection.getFeatures().push(new_feature); 

我想是觸發select事件。我怎樣才能做到這一點?

回答

2

不應該手動觸發該事件。應該由交互本身來觸發它。我會做的是聽取不同類型的事件。

ol.interaction.Select有一個功能集合,即ol.Collection。當交互通過自己選擇特徵時,即通過自己的處理程序的結果,手動推送/移除的結果,該對象觸發addremove事件。

這裏有一個片段:

var featuresCollection = selection.getFeatures(); 
featuresCollection.on('add', function() { 
    // do what you want on add 
}); 
featuresCollection.on('remove', function() { 
    // do what you want on remove 
}); 

這將需要多一點點的管理,回調方法是火每個功能,但最終你就可以做你想做的事。

+0

謝謝!但似乎我設法用dispatchEvent方法觸發事件。 – Jacobian

相關問題