Leaflet removeEventListener vs off

malam ini begadang ngoprek Leaflet, dan menemukan plugin yang bagus untuk menampilkan koordinat mouse, yaitu leaflet.mouseCoordinate. Sayangnya, karena plugin ini menampilkan koordinat mouse selalu, kita jadi tidak bisa meng-copy koordinat yang diinginkan, karena ternyata kalau kita lihat kodingannya, ada event handling yang dilakukan plugin ini, pada saat map.on(“mousemove” …

map.on("mousemove", this._update, this);

Arti kode di atas adalah, pada saat mouse bergerak, jalankan fungsi _update pada plugin tersebut.

Nah, saya ingin membatalkan event ini dengan membuat sebuah Marker. Nanti, pada saat marker bergerak (di drag), barulah koordinat diubah, sedangkan kalau tidak, koordinat tidak diubah, dengan seperti ini, kita bisa menangkap koordinat yang ditunjukkan oleh marker.

 

var tengah = new L.LatLng(0.5,101);
var myMarker = new L.marker(tengah,{draggable:true});
myMarker.addTo(map);

 

nah, untuk membatalkan event, tadi pada mulanya, dengan bodohnya saya melakukan event.stopPropagation();  JALAN SIH … tapi menampilkan banyak error di konsol.

Saya coba dengan menggunakan map.removeEventListener, namun tidak sukses…

 

TERNYATA, di leaflet ada fungsi yang LEBIH TEPAT dalam membatalkan event oleh plugin lain, yaitu dengan fungsi map.off

 

 

 

Iklan