안녕하세요.

제가 지금 맵뷰에 반경 관련 작업을 하고 있습니다.

반경 on/off 기능이 있어 on을 누르면 반경이 켜지고

off를 누르면 반경이 사라지고 있습니다.

근데 문제가 처음 반경을 키고 다음 반경을 끈다음 다시 on을 눌러 반경을 키면

이전 draw()에서 그렸던 canvas가 초기화가 안되어 색이 겹치는 현상이 나타나 반경이 원래 색보다 진하게 보입니다.

초기화를 하려고 해도 관련 함수도 없고..

어떻게 방법이 없을까요?


@Override

public void draw(Canvas canvas, MapView mapView, boolean shadow) {

super.draw(canvas, mapView, shadow);

if (isViewDistance) {

Log.e("test", "draw() set View circle");

OverlayItem item = overlayItems.get(0);

        // Converts lat/lng-Point to coordinates on the screen

        GeoPoint geoPoint = item.getPoint();

        Point point = new Point() ;

       

        // 반경 표시하기 (4km)

        Projection projection = mapView.getProjection();

        projection.toPixels(geoPoint, point);

        float projectedRadius = projection.metersToEquatorPixels(radius);

        Paint paint = new Paint();

        paint.setStyle(Paint.Style.FILL);

        paint.setColor(Color.RED);

        paint.setAlpha(90);

        canvas.drawCircle((float)point.x, (float)point.y, projectedRadius, paint);

        }

Log.e("test", "canvas = " + canvas.toString());

}