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


関連記事

【kotlin】CameraXでAndroidカメラを実装してみた

1 はじめに2 概要3 使用前の準備4 ViewFinderLayoutを実装する5 Camera Permissionのリクエスト6 カメラ撮影機能を実装する6.1 Previewクラスの実装6.2 ...

AndroidでWebViewを使用するときに気をつけたいポイント追加4選!

1 はじめに2 Cookie2.1 Cookieを設定する2.2 Cookieを取得する3 ハンドリングの効かないページ遷移3.1 POSTでのページ遷移3.2 PDFなど、WebViewで開くことの ...

Kotlin ChartsライブラリとCryptowatchAPIでローソク足を描画してみる。

1 はじめに2 CryptoWatchについて2.1 OHLC3 リクエスト方法3.1 CryptoWatchのAPI4 Androidでの実装4.1 実装前の準備4.2 データクラスの作成4.3 リ ...

【Java】スレッドについてまとめてみました

1 はじめに2 スレッドの基本について3 スレッドの利用4 Threadクラス5 Runnableインターフェース6 同期処理7 synchronized修飾子8 おわりに9 おすすめ書籍 はじめに ...

Pushwoosh UnityでのFCM移行

1 はじめに2 Firebaseプロジェクトの引き継ぎ3 PushwooshのAPIキーの差し替え3.1 FCMサーバーキーの取得3.2 google-services.jsonのダウンロード3.3 ...

フォロー

follow us in feedly

blog-page_side_responsive

2018年4月
1234567
891011121314
15161718192021
22232425262728
2930 

アプリ情報

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