2017-04-12 13 views
0

私はこのようなリーフレットマーカーにクリックイベントを追加しようとしました:リーフレット:マーカーにイベントを追加しますか?

L.marker([41.866056100409044, 12.5349304759025576]).on('click', red).bindLabel('kebabbari (Ali Baba)', {noHide: true}).addTo(map).showLabel(); 

しかし、結果は任意のクリックイベントのない単なるマーカーである(「赤()」関数が存在する)
Marker in leaflet, click eventありません

+0

http://stackoverflow.com/questions/16927793/marker-in-leaflet-click-eventを参照してください。 –

+0

[マーカーのリーフレットのクリックイベント](http://stackoverflow.com/questions/16927793/)リーフレットのクリックイベント) –

+0

[この質問](http://stackoverflow.com/questions/16927793/marker-in-leaflet-click-event)は動作しません –

答えて

0

さまざまなシナリオで複数のテストを実行しましたが、それらはすべてオンクリックまたはマウスオーバーで動作しました。私はリーフレット1.03を使用しています。以前のバージョンを使用していると思います。

var Marker = L.marker([41.866056100409044, 12.5349304759025576]).on('click', onClick).addTo(map) 

は、以下のような新機能を追加します -

function onClick(e) { 
    alert(this.getLatLng()); 
} 

これを試してみて、それはあなたのonclickの機能が働くことができることを証明します。私はそれがOnclickオプションを持っているので、リーフレットのプラグインラベルがそれを妨害しているかもしれないと思うし、あなたはさらにそれを見る必要があるかもしれません。

時には、最初に動作させることができることを証明してから、少しずつビットを追加する必要があります。

また、Leaflet.Labelはonclickと競合しています。

https://github.com/Leaflet/Leaflet.label/issues/132フォーラムからのこの問題は、ここで詳しい回答が得られるのに役立ちます。

あなたが例えば、特にmarker.labelするイベントをバインドする必要があります。

L.DomEvent.addListener(marker.label, 'click', function(e) { this.togglePopup() }, marker); 

私がアクセスする方法のREADMEで言及する価値が、これを理解するためのコードにビットを掘る必要がありましたラベルを作成し、それにイベントをバインドします。

関連する問題