Google Maps API には GMarkerManager というクラスがあって、これを使うと大量のマーカーを使っても負荷が少なくなるというものなんですが。
ただ、残念ながら、これは GPolygon クラスのようなマーカー以外のオーバーレイを管理できないです。
で。
いろいろ触っていたらなんか使えてる風になったので、書いときます。
コード
GPolygon.prototype.D = function(){ return this.getBounds().getCenter() }
以上のコードを addMarker メソッドを使う前に実行して下さい。それで動いてる感じになります。
サンプル
http://lhankor-mhy.appspot.com/mmtest
「GMarkerManager」を使うと「addOverlay」を使うより、多少処理が軽くなっているのが分かると思います。2000件ぐらいで試すと分かりやすいかな?
注意点
GPolygon.prototype.D という書き方は黒魔術的なので、MarkerManager を使った方がいいのかも。その際は以下のようなコードで動くはずです、試してないけど。
GPolygon.prototype.getPoint = function(){ return this.getBounds().getCenter() }
*1まあ、これも結構黒魔術的ですので、自己責任で。
あと、見てのとおり、getPoint メソッドを getBounds の getCenter で代替しているので、表示域に対してオーバーレイが十分に小さくないと動作がおかしくなるはずです、試してないけど。
*1:packしていないコード用です