2013-02-04 9 views
6

私の質問はかなり簡単です。マップは現在忙しいズームやパンである後GoogleMap Canvas要素が既にアイドル状態であることを確認してください

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

関連する問題