Narysuj pięć przezroczystych kółek na mapie Google v2

Niedawno zacząłem pracować z Google Map v2 i odkryłem, że wiele rzeczy zostało zmienionych. Wcześniej korzystałem z Google Map v1, więc korzystałem z koncepcji MapView.

Próbuję stworzyćfive transparent circumcircles zcenter as my current location. Poniżej znajduje się kod, dla którego używałemGoogle Map v1 narysować koło i działało to dobrze dla mnie. Teraz próbuję narysować ten sam krąg, który narysowałem w poniższym kodzie naGoogle Map v2. Nie mogę używać MapView tutaj, ponieważ używam tutaj obiektu GoogleMap. Czy ktoś może mi pomóc w narysowaniu okręgu na Mapie Google v2 z centrum jako moją obecną lokalizacją

@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();
        }
}

Prosta klasa, która rozszerza nakładkę i rysuje okrąg na mapie Google 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;
    }
}

Muszę tylko narysować ten sam krąg, który narysowałem w powyższym kodzie na Google Map v2. Czy jest jakiś sposób, mogę użyć powyższego kodu z obiektem GoogleMap, aby móc rysować okręgi na Mapie Google v2?

Dzięki za pomoc.

Zaktualizowany kod: -

Muszę narysować pięć kół w Google Maps v2, biorąc aktualną lokalizację za środek okręgu. Oznacza to, że każdy z pięciu okręgów ma ten sam środek, ale o różnych promieniach: pierwszy okrąg będzie miał promień 10 m, drugi promień okręgu 20 m, promień trzeciego okręgu 30 m, promień czwartego okręgu 40 m, a promień piątego okręgu 50 m. Używam Google Maps v2.

Muszę też pokazać znacznik na środku okręgu.

Próbuję coś takiego, aby narysować okrąg na Mapie Google v2, ale rysuje tylko jedno koło, a nie pięć kółek

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);

Muszę narysować kółko dokładnie tak jak to-

Czy ktoś może mi w tym pomóc? Mam problem z utworzeniem tego kręgu w Google Map v2. Każda pomoc zostanie doceniona.

questionAnswers(1)

yourAnswerToTheQuestion