2017-06-29 6 views
0

プログラムでselectイベントを発生させたいが、どうすればよいか分からない。だから、これは私が選択インタラクションの作成方法をされています。私のコードの他の部分ではプログラムで選択イベントを発生させる方法

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があります。そのオブジェクトは、インタラクションがフィーチャをそれ自身で選択するとき、すなわち自身のハンドラの結果によってaddおよびremoveのイベントを発生させる。およびは、手動でプッシュ/削除された結果である。ここで

は抜粋です:

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

関連する問題