2013-02-04 26 views
6

Soruma bakıyorum. haritası şu anda meşgul yakınlaştırma veya kaydırma sonra kodBir GoogleMap Canvas öğesinin zaten boşta olup olmadığını kontrol edin

google.maps.event.addListenerOnce(map, 'idle', function() { 
    // code 
}); 

Bu pasajı tetikleyecektir. Zaten boşta değilken.

Bir if ifadesinde tuvalin durumunu kontrol etmenin bir yolu var mı? Yani zaten boşta olduğunda bir dinleyici eklemeden // code yapacaksın?

cevap

4

Haritanın bekleme durumunu bildiren belgelendirilmiş bir özellik yoktur, ancak bunu kendi başınıza uygulayabilirsiniz.

haritanın başlatmasından sonra bu hakkı diyoruz varsayarsak:

Sonra
google.maps.event.addListener (map, 'idle', function(){ 
      this.lastBounds=this.getBounds(); 
}); 

lastBounds-mülk haritanın geçerli sınırları eşit olup olmadığını kontrol edebilir:

if (map.lastBounds==map.getBounds()){ 
    //call function immediately 
}else{ 
    //add listener 
} 
+0

yapmayın this.lastBounds = 0; 'gibi bir başlangıç ​​değeri eklemeyi unutun. Else, 'this.lastBounds' ve 'this.getBounds()' un tanımlanamayacağından yükleme öncesinde boşta olduğunu düşünecektir. – Sem

İlgili konular