구글맵을 사용해서 터치시 각 자점에 마커를 찍고

그곳을 서로 선으로 연결해 주었습니다.

근데 다 그려진 상태에서 맵을 축소시키거나 확대시킬경우

그 전에 그려졌던 선들이 그대로 그려져 있어서 계속 덧씌워져서

매우 지저분해저 버리는데...

이럴때 canvas를 초기화 하고싶은데 아무리 찾아봐도 답이 없어서 이렇게 질문 올리게 됐습니다.

public void draw(Canvas canvas, MapView mapView, boolean shadow) 
    {
  super.draw(canvas, mapView, shadow);
  Paint pnt = new Paint();
  pnt.setColor(Color.RED);
     pnt.setStrokeWidth(2);                           
        Point targetPosition = new Point(0, 0);
  Point startPosition = new Point(0, 0);
  int i = 0;
  Log.v("a", "asaa1");
  if(mOverlays.size() > 1)
  {
   mapView.getProjection().toPixels(mOverlays.get(mOverlays.size()-2).getPoint(), targetPosition);
   xdate.add(targetPosition.x);
   ydate.add(targetPosition.y);
   
   mapView.getProjection().toPixels(mOverlays.get(mOverlays.size()-1).getPoint(), startPosition);
   xxdate.add(startPosition.x);
   yydate.add(startPosition.y);
//   canvas.restore();
   for(i = 0; i < xdate.size(); i++)
   {
    canvas.drawLine(xdate.get(i), ydate.get(i), xxdate.get(i), yydate.get(i), pnt);
   }
  }
    }

draw는 이런식으로 그렸는데 그 이후는 진짜 답이 없네요...

많은 지도 부탁드립니다.