私もこれに取り組んでおり、次の解決策を見つけました。円の端がぼやけるのを防ぐために非常に大きなキャンバスを作成する必要があったため、まだ完璧ではありません。
private void addCircleToMap() {
// circle settings
int radiusM = // your radius in meters
double latitude = // your center latitude
double longitude = // your center longitude
LatLng latLng = new LatLng(latitude,longitude);
// draw circle
int d = 500; // diameter
Bitmap bm = Bitmap.createBitmap(d, d, Config.ARGB_8888);
Canvas c = new Canvas(bm);
Paint p = new Paint();
p.setColor(getResources().getColor(R.color.green));
c.drawCircle(d/2, d/2, d/2, p);
// generate BitmapDescriptor from circle Bitmap
BitmapDescriptor bmD = BitmapDescriptorFactory.fromBitmap(bm);
// mapView is the GoogleMap
mapView.addGroundOverlay(new GroundOverlayOptions().
image(bmD).
position(latLng,radiusM*2,radiusM*2).
transparency(0.4f));
}
-- 編集 -- Google が API を更新しました。マップに円を簡単に追加できるようになりました:
https://developers.google.com/maps/documentation/android/shapes?hl=nl#circles