[英]Leaflet: Add event to marker?
我試圖將click事件添加到傳單標記中,如下所示:
L.marker([41.866056100409044, 12.5349304759025576]).on('click', red).bindLabel('kebabbari (Ali Baba)', {noHide: true}).addTo(map).showLabel();
但是結果只是一個沒有任何點擊事件的標記(“ red()”函數存在)
傳單中的標記,點擊事件無效
只需在不同的情況下運行多個測試,它們都可以通過onclick或鼠標懸停來工作。 我正在使用Leaflet 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中提及如何訪問標簽並將事件綁定到標簽。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.