Di situs saya , saya menggunakan Google Maps API v3 untuk menempatkan penanda rumah di peta.
InfoWindows tetap terbuka kecuali Anda secara eksplisit mengklik ikon tutup. Artinya, Anda dapat membuka 2+ InfoWindows dalam satu waktu jika Anda mengarahkan kursor ke penanda peta.
Pertanyaan : Bagaimana cara membuatnya sehingga hanya InfoWindow aktif saat ini yang terbuka dan semua InfoWindows lainnya ditutup? Artinya, tidak lebih dari 1 InfoWindow akan dibuka dalam satu waktu?
Jawaban:
Ada fungsi close () untuk InfoWindows. Catat saja jendela yang terakhir dibuka, dan panggil fungsi tutup di atasnya saat jendela baru dibuat.
Demo ini memiliki fungsionalitas yang Anda cari. Saya menemukannya di galeri demo Maps API V3 .
sumber
solusi alternatif untuk ini dengan menggunakan banyak infowindows: simpan prev membuka jendela infow dalam sebuah variabel dan kemudian tutup ketika jendela baru dibuka
sumber
Ini akan "memindahkan" jendela info ke setiap penanda yang diklik, pada dasarnya menutup sendiri, lalu membuka kembali (dan menggeser agar sesuai dengan area pandang) di lokasi barunya. Ini mengubah isinya sebelum dibuka untuk memberikan efek yang diinginkan. Bekerja untuk penanda n.
sumber
Solusi saya.
sumber
Dari tautan ini http://www.svennerberg.com/2009/09/google-maps-api-3-infowindows/ :
sumber
sumber
Ada cara yang lebih mudah selain menggunakan fungsi close (). jika Anda membuat variabel dengan properti InfoWindow, ia menutup secara otomatis saat Anda membuka yang lain.
sumber
sumber
Bagaimana tentang -
Kemudian Anda bisa mengarahkan kursor ke atasnya dan itu akan menutup sendiri.
sumber
Saya menyimpan variabel di bagian atas untuk melacak jendela info mana yang saat ini terbuka, lihat di bawah.
sumber
Inilah yang saya gunakan jika Anda menggunakan banyak penanda dalam perulangan for (Django di sini). Anda dapat menyetel indeks pada setiap penanda dan menyetel indeks itu setiap kali Anda membuka jendela. Menutup indeks yang disimpan sebelumnya:
sumber
sumber