2015-11-29

Marker-Clusterer

Google mapsへMarker Clustererを導入した。

ライブラリを追加し、下記ドキュメントとデモを見たら大体の仕様は分かった。

基本的にはGoogleMapオブジェクトとマーカーの配列をnew MarkerClusterer()へ突っ込めば作動する。

オプションを渡してクラスター化のタイミングなどを制御できるようだが、ドキュメントを探すのにちょっと苦労した。
おそらくVer.1と同様のようなので、ここを参照した。

  • gridSize - クラスター範囲のサイズ。デフォルトは60で、小さくすると精度が上がり、大きくするとパフォーマンスが上がる。
  • maxZoom - クラスター監視に限度を設定できる。設定以下だとクラスター対象のマーカー群を無視する。
  • styles - クラスターのスタイルを設定できる。配列で大サイズから小への順番で。

大量のマーカーを配置するならユーザビリティ的に恩恵は大きいと思う。
スマートフォンでもパフォーマンス上の問題は無さそう。

しかしマーカーが比較的密集していると、ズームレベル15では単独表示だったが、16へズームするとクラスター化されてしまうという不自然な挙動が見られた。恐らくクラスター化のグリッド計算アルゴリズムの仕様なのでしょうがないかも。