読者です 読者をやめる 読者になる 読者になる

MarkerManagerのaddMarkers()が若干微妙

GoogleMapsAPI用の大量のMarkerをやっつけてくれるライブラリのMarkerManagerの話。
MarkerManagerには、単一のMarkerを登録するためのaddMarker()と、複数のMarkerを一度に登録することができるaddMarkers()の2種類のメソッドが用意されていまして、「addMarkers()の方がパフォーマンスがよいのでおすすめ」とあるんだけど、地図を表示しながら表示領域のデータを取得して随時追加していくようなやり方だと画面がちらついたり二重にMarkerが表示されたり(影が濃くなる)してうまく表示してくれなくてプチはまり。
addMarkers()の場合、メソッドを呼んだ後、即地図上に表示されるわけじゃなくて、そのあとにrefresh()メソッドが呼ばれて初めて地図に反映されるってことになってるんですが、このrefresh()メソッドとMarkerManager内部でMarkerの描画のコントロールする処理がうまく調整できてなくてなんか変なことが起きてるっぽいみたいなんです(キチンと調べたわけじゃ無いので詳しいところ分かりませんけど)。
とりあえず、addMarker()使ってひとつずつ登録すればちゃんと動くみたいです。単純に置き換えただけだと登録処理時固まるけどね。
単に僕のやり方が悪いだけかも知れないけど、ハマったのでメモ。