表示したMarkerをクリックしてイベントをキャッチするまでは前々回書いた。
今回はどのMarkerでイベントが発生したか判定する方法。
ドキュメントを見るのだが、Markerにはデータを保持できるようなプロパティはない。
しかし、OpenlayersにはいろいろなExampleがあり、それを見て自分でやり方を発見するのだ。MarkerのExampleはここにある。
ソースを見て分かったのは以下の通り。
var marker = new OpenLayers.Marker(lonLat, icon);
marker.id = uid; //ここで設定
marker.events.register('mousedown', marker, showMessages);
Markerにidというプロパティがあり、これを使用する。
設定したidはイベント内でどのように使用するか。
showMessages = function(evt) {
if (this.id == "uid") {
}
OpenLayers.Event.stop(evt);
};
this.id で判定できる。このようにしてイベントが発生したMarkerを判定できる。
素晴らしい記事、教えてくれてありがとう!戻って私のブログに来てすることを忘れないでください。インドネシアブロガーの挨拶:)
返信削除