Dibuja cinco circuncírculos transparentes en el mapa de Google v2

Recientemente empecé a trabajar con Google Map v2 y descubrí que muchas cosas han cambiado. Anteriormente estaba usando Google Map v1, así que estaba usando el concepto de MapView.

Estoy tratando de crearfive transparent circumcircles con elcenter as my current location. A continuación se muestra el código que estaba usando paraGoogle Map v1 Para dibujar el círculo y funcionaba bien para mí. Ahora estoy tratando de dibujar el mismo círculo que he dibujado en mi código de abajo en elGoogle Map v2. No puedo usar MapView aquí porque estoy usando el objeto GoogleMap aquí. ¿Alguien puede ayudarme con esto para dibujar el círculo en Google Map v2 con el centro como mi ubicación actual?

@Override
public void onLocationChanged(Location location) {
        if (location != null) {
            GeoPoint point = new GeoPoint(
                    (int) (location.getLatitude() * 1E6),
                    (int) (location.getLongitude() * 1E6));

            // Create a LatLng object for the current location
            LatLng latLng = new LatLng(location.getLatitude(),  location.getLongitude());

            // Show the location on the Google Map
            googleMap.moveCamera(CameraUpdateFactory.newLatLng(latLng));

            // Zoom in the Google Map
            googleMap.animateCamera(CameraUpdateFactory.zoomTo(15));

        //   Below is the code for Google Map v1 to draw the circle on the map  

        //   if (mapOverlay == null) {
        //   mapOverlay = new MapOverlay(this, R.drawable.mark_blue);

        //   List<Overlay> listOfOverlays = mapView.getOverlays();
        //   listOfOverlays.add(mapOverlay);
        //   }

        //   mapOverlay.setPointToDraw(point);
        //   mapView.invalidate();
        }
}

Una clase simple que extiende Overlay y dibuja el círculo en el Google Map v1

class MapOverlay extends Overlay {
    private GeoPoint pointToDraw;
    int[] imageNames = new int[6];

    // This is the cached Point on the screen that will get refilled on
    // every draw
    private Point mScreenPoints;

    // This is the cached decoded bitmap that will be drawn each time
    private Bitmap mBitmap;

    // Cached Paint
    private Paint mCirclePaint;

    public MapOverlay(ProximityLocationListener gpsLocationListener,
            int currentUser) {
        imageNames[0] = currentUser;
        imageNames[1] = R.drawable.tenm;
        imageNames[2] = R.drawable.twentym;
        imageNames[3] = R.drawable.thirtym;
        imageNames[4] = R.drawable.fourtym;
        imageNames[5] = R.drawable.fiftym;

        // This only needs to be made here, once. It never needs to change.
        mCirclePaint = new Paint(Paint.ANTI_ALIAS_FLAG);
        mCirclePaint.setColor(0x10000000);
        mCirclePaint.setStyle(Style.FILL_AND_STROKE);

        // We only need to load this image once and then just keep drawing
        // it when dirtyed.
        mBitmap = BitmapFactory.decodeResource(getResources(),
                imageNames[0]);

        // This Point object will be changed every call to toPixels(), but
        // the instance can be recycled
        mScreenPoints = new Point();
    }

    public void setPointToDraw(GeoPoint point) {
        pointToDraw = point;
    }

    public GeoPoint getPointToDraw() {
        return pointToDraw;
    }

    @Override
    public boolean draw(Canvas canvas, MapView mapView, boolean shadow,
            long when) {
        super.draw(canvas, mapView, shadow);
        mScreenPoints = mapView.getProjection().toPixels(pointToDraw,
                mScreenPoints);

        int totalCircle = 5;
        int radius = 40;
        int centerimagesize = 13;

        for (int i = 1; i <= totalCircle; i++) {
            canvas.drawCircle(mScreenPoints.x + 18, mScreenPoints.y + 36, i
                    * radius, mCirclePaint);
            canvas.drawBitmap(BitmapFactory.decodeResource(getResources(),
                    imageNames[i]), ((mScreenPoints.x) + (i * radius)),
                    (mScreenPoints.y), null);
        }

        canvas.drawBitmap(mBitmap,
                (mScreenPoints.x - (centerimagesize / 2)),
                (mScreenPoints.y - (centerimagesize / 2)), null);
        super.draw(canvas, mapView, shadow);

        return true;
    }
}

Solo necesito dibujar el mismo círculo que dibujé en mi código anterior en el Google Map v2. ¿Hay alguna manera, puedo usar el código anterior con el objeto GoogleMap para poder dibujar círculos en el Google Map v2?

Gracias por la ayuda.

Código actualizado: -

Necesito dibujar cinco círculos circulares en Google Maps v2 tomando la ubicación actual como el centro de un círculo. Lo que significa que cada uno de los cinco círculos tiene el mismo centro pero con diferentes radios: el primer círculo tendrá un radio de 10 m, el radio del segundo círculo de 20 m, el radio del tercer círculo de 30 m, el radio del cuarto círculo de 40 my el radio del quinto círculo de 50 m. Estoy usando Google Maps v2.

Y también tengo que mostrar un marcador en el centro del círculo.

Estoy intentando algo como esto para dibujar el círculo en el Google Map v2 pero solo dibuja un círculo y no los cinco círculos.

CircleOptions circleOptions = new CircleOptions()
                  .center(latLng)   //set center
                  .radius(500)   //set radius in meters
                  .fillColor(Color.TRANSPARENT)  //default
                  .strokeColor(0x10000000)
                  .strokeWidth(5);

                  myCircle = googleMap.addCircle(circleOptions);

Necesito dibujar un círculo exactamente como este.

¿Puede alguien ayudarme con esto? Estoy teniendo problemas para hacer este círculo en Google Map v2. Cualquier ayuda será apreciada.

Respuestas a la pregunta(1)

Su respuesta a la pregunta