2013-02-04 3 views
6

제 질문은 매우 간단합니다. 지도는 현재 바쁜 줌이나 패닝 후 코드의Google지도 캔버스 요소가 이미 유휴 상태인지 확인하십시오.

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

이 조각은 트리거합니다. 이미 유휴 상태 일 때가 아닙니다.

if 문에서 캔버스의 상태를 확인할 수있는 방법이 있습니까? 이미 유휴 상태 일 때 청취자를 추가하지 않고 // code을 수행 할 것입니까?

답변

4

지도의 유휴 상태를 알리는 문서화 된 속성은 없지만 직접 구현할 수 있습니다.

당신이지도의 초기화 이후에이 권리를 호출 가정 :

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

lastBounds-속성은 맵의 현재의 경계에 동일한 경우는 확인할 수

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

하지 마십시오 'this.lastBounds = 0;'과 같은 시작 값을 추가하는 것을 잊어 버리십시오. 그렇지 않으면'this.lastBounds'와'this.getBounds()'가 모두 정의되지 않았기 때문에로드 전에 유휴 상태라고 생각할 것입니다. – Sem

관련 문제