Android

GoogleMap Clusterのカスタマイズ

投稿日:

はじめに

最近GoogleMapマーカークラスタに触れる機会があり、その際にクラスタをカスタマイズをする必要がありました。調査の過程で知ったカスタマイズ方法を少し紹介します。

クラスタ内のアイテムクラス

公式ドキュメントにもあるように、クラスタ内に入れるアイテムとして、ClusterItemインタフェースを実装したクラスを用意します。

クラスタをレンダリングするクラス

DefaultClusterRendererを継承して、独自のレンダリング用クラスを作成します。
このCustomRendererで、親クラスのメソッドをオーバーライドすることで、見た目や挙動を変えていくことができます。

クラスタの色を設定する

親クラスのDefaultClusterRendererでは
private static final int[] BUCKETS = {10, 20, 50, 100, 200, 500, 1000};
というクラスタ内のアイテム数の区分を設定して、それぞれ別の色になるように設定しています。これを変えたい場合はCustomRendererでgetColorをオーバーライドします。

クラスタ化の最小個数を設定する

CustomRendererでshouldRenderAsClusterをオーバーライドします。

クラスタのクリックイベントを拾う

アクティビティもしくはフラグメントで、onClusterClickをオーバーライドします。
下記のコードでは、クラスタ内の1番目のアイテムを取得し、その位置にカメラを移動しています。

さいごに

いかがでしたでしょうか。
Android Studioでさくっとビルドして、挙動を見つつコードを確認できますので、興味がある方はドキュメントだけでなく、公式のデモアプリに触ってみることをおすすめします。

blog-page_footer_336




blog-page_footer_336




-Android

執筆者:


comment

メールアドレスが公開されることはありません。

CAPTCHA


関連記事

【Java】Handlerクラスについてまとめてみました

1 はじめに2 Handlerクラスを使う理由3 Handlerクラスの基本4 Handlerを使ってsetText()を実行してみる5 sendMessage()を実行してみる6 さいごに7 おすす ...

GCM 2.0からFCMに移行する(AWS SNS対応版)

1 はじめに2 FCM移行で大事なポイント3 Firebaseプロジェクトへの引き継ぎ3.1 Firebaseの初期設定4 依存ライブラリの変更4.1 “com.google.androi ...

【Kotlin】RoomでDB管理をする

1 はじめに2 Gradleを更新3 Data Classを作成する4 DAOファイルを作成する5 RoomDatabaseファイルを作成する6 DBを操作してみる7 さいごに8 参考9 おすすめ書籍 ...

【Kotlin】FirebaseAuthenticationでGoogle・Facebook連携する

1 はじめに2 Firebaseプロジェクトの設定3 build.gradleに追記4 Googleログイン5 Facebookログイン6 さいごに7 参考8 おすすめ書籍 はじめに はじめまして。m ...

【Kotlin + Retrofit】API通信してみる

1 はじめに2 準備3 レイアウトファイルの作成4 APIを実装する5 さいごに6 おすすめ書籍 はじめに こんにちは。miyagawaです。つい最近、ポケモン剣盾を衝動買いしてしました。BW2から全 ...

フォロー

blog-page_side_responsive

2018年4月
1234567
891011121314
15161718192021
22232425262728
2930  

アプリ情報

私たちは無料アプリもリリースしています、ぜひご覧ください。 下記のアイコンから無料でダウンロードできます。