現在、クラスタリングに Google Maps Android API Utility を使用していますが、マーカーがクラスターから表示/レンダリングされたときにマーカーの周りに円を追加する方法が見つかりませんでした。各マーカーの周りに円を付けたいです。これを達成するための Android マップ拡張ライブラリの方法はありますか?
クラスターがレンダリングされたときの現在の動作
望ましい動作
現在、クラスタリングに Google Maps Android API Utility を使用していますが、マーカーがクラスターから表示/レンダリングされたときにマーカーの周りに円を追加する方法が見つかりませんでした。各マーカーの周りに円を付けたいです。これを達成するための Android マップ拡張ライブラリの方法はありますか?
クラスターがレンダリングされたときの現在の動作
望ましい動作
クラスタリング用のこのライブラリが役立つと思います。Android マップ拡張機能https://github.com/mg6maciej/android-maps-extensions
マーカーのアイコンのみを変更する必要がある場合は、png イメージ (たとえば、デフォルトのマーカー アイコンと円) を作成し、それをリソースとしてマーカーに貼り付けることができます。
map.addMarker(new MarkerOptions()
.icon(BitmapDescriptorFactory.fromResource(R.drawable.marker_circle)));
カスタム サークルが必要な場合は、プログラムで作成しますが、カスタム マーカー アイコンも必要です (もちろん、サイズ変更のために異なるバージョン (hdpi、xhdpi...) を提供します)。
// circle
int diameter = 500;
Bitmap bm = Bitmap.createBitmap(diameter, diameter, Bitmap.Config.A
Canvas canvas = new Canvas(bm);
Paint p = new Paint();
p.setColor(getResources().getColor(R.color.green));
canvas.drawCircle(diameter / 2, diameter / 2, diameter / 2, p);
// marker icon through Drawable
Drawable drawable = getResources().getDrawable(R.drawable.marker_icon, null);
// you should choose bounds
// drawable.setBounds(left, top, right, bottom);
drawable.draw(canvas);
//OR marker icon through Bitmap
Bitmap bmIcon = BitmapFactory.decodeResource(getResources(), R.drawable.marker_icon);
// choose correct top and left margin
canvas.drawBitmap(bmIcon, diameter / 2, diameter / 2, p);
map.addMarker(new MarkerOptions().icon(BitmapDescriptorFactory.fromBitmap(bm)));