GMarkerManagerが凄まじく使えると思ったらはまった

クリスマスリリースに向けてDamMapsの開発をやったりやらなかったりなのですが、この間のGoogle Maps APIのバージョンアップで追加されたGMarkerManagerクラスが凄いです。(参考)
とりあえずこのサンプルを開いてください。

http://dambiyori.sakura.ne.jp/dammaps/gmarkertest.html
http://dambiyori.sakura.ne.jp/dammaps/gmarkertest.html

しばらくするとボタンが出てきますのでGMarkerManagerの方を押してみて下さい。すぐマーカーが表示されましたよね。地図を動かすと滑らかにスクロールします。
そのあとaddOverlayのほうを押してみてください。おそらくしばらく固まったままだと思います(私の環境で30秒くらいかかった)。表示後地図を動かすとかくかくすると思います。
Google Maps APIを使ってある程度まとまった数のマーカーを初期処理で全部表示しているようなアプリケーションの場合、GMarkerManagerを使用すると簡単にパフォーマンスの改善を図れますよ、多分。
あとでメモがてら使い方をまとめようかな、と思っていますが、コードをみればだいたい分かるんじゃないかなと思います。おそらく既存のコードを直すのもそんなに手間がかからないはず。

追記

マーカーの描画をクリアする方法が見つからないです。サンプルにクリアボタンをつけてGMap2クラスのclearOverlays()を呼んでみたのですが、スクロールさせたりするとまた出てきてしまいます。(サンプルの「クリア(うまく動かない)」を参照)どうしたもんだろう…。

追記の追記

Google グループ
http://groups.google.com/group/Google-Maps-API/browse_thread/thread/27d7edbc57f6b11b/69bccce04e06b220?lnk=gst&q=remove+GMarkerManager&rnum=1#69bccce04e06b220

を読むとどうやら削除する機能が今は実装されてなさそうな雰囲気です(ってしっかり訳して読んだわけじゃないので違ってる可能性有りますが。っていうか違っててくれ)。物凄い力技としてGMap2オブジェクトを作り直せばとりあえず全部消せるには消せるみたいですけど、これじゃあんまりな気がするし…(サンプルの「クリア(強引)」を参照)。さて、どうしよう。

追記×3

Googleが削除も可能なマーカー管理オブジェクトのライブラリを提供しているみたいです。
http://googlemapsapi.blogspot.com/2007/03/new-open-source-utility-library-for.html
それを組み込んだのが「MarkerManagerを使用」の処理です。
使い方はGMarkerManagerとほぼ同じですが、removeMarkerを始めとする各種削除メソッドが使用できるのがポイント。