マップを再描画するメソッドをインターセプトする方法はありませんが、オーバーレイを描画する関数を独自に定義するため、カスタム オーバーレイの描画をインターセプトする方法があります。
cutom Overlay の draw-method は、必要なときにいつでも自動的に呼び出されます。
簡単なアプローチ: マップがアイドル状態になるまでオーバーレイを再描画しないでください:
YourOverlayClass.prototype.draw = function(idle) {
if(!idle){
var _this=this;
google.maps.event.addListenerOnce(this.map,'idle',
function(){_this.draw(true);});
/*optionally you may hide the overlay here*/
return;
}
/**
* your drawing-instructions here
**/
/*show the overlay here when it has been hidden before*/
}
draw の自動呼び出しは引数なしで行われ、提案は引数が提供されたかどうかをチェックします。
yes の場合: オーバーレイを再描画します。
no の場合: マップのアイドル イベントにリスナーを追加します。ここで、描画メソッドが引数 (オーバーレイを再描画するもの) で呼び出されます。