Google Maps – Infowindow kapandıktan sonra istenmeyen marker oluşması ve çözümü

Google MapsBugün infowindow 'ları kapatma ve haritanın dinlediği 'click' olayı ile ilgili karşılaştığım bir problem. Biraz araştırdıktan sonra çözümüne ulaştım. Buradan da paylaşayım.

Problem:

InfowindowHaritanın 'click' olayını dinlediğini ve bu olay meydana geldiğinde şekildeki gibi bir marker ve Infowindow(baloncuk) oluşturduğunu varsayalım. Baloncuğun içindeki 'Ev konumu olarak belirle' linki tıklandığı zaman, birkaç işlem yapılıyor ve sonuç başarılı ise infowindow kapatılıyor (infowindow.close() komutu ile). Fakat problem de burada meydana geliyor. Biz 'Ev konumu olarak belirle'yi tıklayınca, aslında infowindow 'u tıklamış olmamıza rağmen haritanın dinlediği 'click' olayı da tetikleniyor ve tam tıkladığınız noktaya yeni bir marker koyuyor. Örneğin ev ikonunun tam bacasına tıklayınca, tam o bacaya karşılık gelen harita konumuna yeni bir marker konuluyor.

Çözüm:

Problemin kaynağı infowindow'un haritanın dinlediği 'click' olayından önce kapanıyor olması. Bu yüzden infowindow 'a biraz gecikme uygulayarak kapatmamız gerekiyor. Aşağıdaki kod işimizi görecektir

  1. setTimeout("infowindow.close()",150); //150 ms sonra infowindow'u kapat

 

Şu yazılar da ilginizi çekebilir

Google Maps’te belirli bir yere dalga efekti vermek

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir