Apakah mungkin di Leaflet popup terbuka pada mouse-over, bukan pada klik?
Ini berfungsi hanya untuk satu penanda pada satu waktu, tetapi saya membutuhkannya untuk penanda yang lebih banyak:
marker.on('mouseover', function(e){
marker.openPopup();
});
Jawaban:
Jika Anda perlu menampilkan popup untuk marker, Anda dapat menggunakan metode marker bindPopup.
Maka Anda memiliki lebih banyak kontrol dan itu akan secara otomatis terikat ke penanda Anda.
Dalam contoh di bawah ini Anda dapat menampilkan sembulan ketika pengguna mouse, dan menyembunyikannya ketika pengguna mouse keluar:
Catatan: Anda mungkin mengalami masalah dengan popup yang menutup ketika Anda mengarahkan mouse ke popup itu sendiri, jadi Anda mungkin perlu menyesuaikan jangkar popup dalam (lihat pengaturan popup) untuk menunjukkan popup Anda sedikit lebih jauh dari marker itu sendiri sehingga tidak muncul. menghilang terlalu mudah.
sumber
sumber
Ini bukan masalah khusus Leaflet, melainkan pertanyaan tentang Javascript.
Simpan spidol Anda dalam koleksi, lalu ikat
openPopup
ke sebuah'mouseover'
acara untuk semuanya.Misalnya, dengan sebuah array:
sumber
L.MarkerCluster
contoh ... Jawaban saya jelas menunjukkan bagaimana cara mengikat koleksi popup pada hover. Jika Anda ingin tahu cara mendapatkan koleksi dari sebuah cluster, ini adalah hal lain.Jika Anda menggunakan Leaflet 1.3.x, pengikatan tooltip adalah metode bawaan.
http://leafletjs.com/reference-1.3.0.html#tooltip
sumber
bindTooltip()
bekerja pada spidol individual juga.Dalam hal memiliki solusi yang berfungsi "untuk sejumlah besar penanda", inilah yang saya lakukan untuk setiap lapisan data titik yang dimuat dari GeoJSON:
sumber