Adakah yang tahu bagaimana cara menekan panning ketika Anda mengklik dan menyeret ke atas kotak div yang tertanam di dalam peta itu sendiri?
Misalnya di sini , ketika Anda mengklik dan menyeret dari atas legenda, peta menyeret Anda. Saya ingin menekan fungsi itu. Saya sadar jika teknik ini, tetapi saya ingin tahu apakah ini satu-satunya cara:
map.dragging.disable();
Jawaban:
Menggunakan contoh dari situs web Leaflet, catat di mana
L.Control
objek tersebut dipakai sebagaiinfo
; ini adalah<div>
kotak di kanan atas yang terkait dengan interaksi hover peta. Di sinilah didefinisikanindex.html
dari contoh Leaflet:Untuk menonaktifkan seret saat kursor pengguna ada di dalam
<div>
kotak ini , tambahkan pendengar acara keHTMLElement
(<div>
elemen) yang berisiL.Control
objek:Ingat yang
map
didefinisikan sebagaiL.Map
contoh sebelumnya.sumber
leaflet-control
unsur yang terkandung olehleaflet-container
unsur dan yang terakhir menerima peristiwa pointer yang memicu zoom dan panning.<div>
menarik adalah anakleaflet-control
yang di dalamnya ada di dalamnyaleaflet-container
. Peristiwa diterima oleh orang tua (leaflet-container
) sebelum anak (leaflet-control
).Solusi alternatif untuk itu adalah menghentikan propagasi acara dengan JavaScript (seperti yang dilakukan untuk kontrol Leaflet, mis. Tombol zoom):
sumber