2011-05-09 81 views
1

使用Android的谷歌地图的GPS,并作出路径 enter code here路径删除||行删除谷歌地图

public boolean draw(Canvas canvas, MapView mapView, boolean shadow, 
       long when) { 
      super.draw(canvas, mapView, shadow); 


    GeoPoint p = new GeoPoint((int) (29.987574219703674 * 1E6), 
      (int) (31.44225418567575 * 1E6)); 
    GeoPoint p2 = new GeoPoint((int) (29.98763859272003 * 1E6), 
      (int) (31.44235074520111 * 1E6)); 
    GeoPoint p3 = new GeoPoint((int) (29.98718498160553* 1E6), 
      (int) (31.442527770996094 * 1E6)); 
    GeoPoint p4= new GeoPoint((int) (29.98739718380868 * 1E6), 
     (int) (31.442527770886084 * 1E6)); 

    // Let's assume you've assigned values to these two GeoPoints now. 

    Projection projection = mapView.getProjection(); 
    Point startingPoint = projection.toPixels(p, null); 

    Point endingPoint = projection.toPixels(p2, null); 

    // Create the path containing the line between the two points. 
    Path path = new Path(); 
    path.moveTo(startingPoint.x, startingPoint.y); 
    path.lineTo(endingPoint.x, endingPoint.y); 

    // Setup the paint. You'd probably do this outside of the draw() method 
    // to be more efficient. 
    Paint paint = new Paint(); 
    paint.setStyle(Paint.Style.STROKE); 
    paint.setColor(Color.RED); 


    super.draw(canvas, mapView, shadow); 
    // el super de 3shnnn to addd koloooo overlay w path 
    canvas.drawPath(path, paint); 

} 

所以如果我想删除路径1的赞扬路径删除!帮助请

回答

2

一个选项是创建一个名为“drawPath”的布尔值。把所有的逻辑中的if语句绘制路径:

public boolean draw(Canvas canvas, MapView mapView, boolean shadow, 
      long when) { 
     super.draw(canvas, mapView, shadow); 
    if(drawPath){ 
     // path drawing logic goes here 
    } 
} 

然后,当你想画的路径,设置“drawPath”为真,并呼吁View.Invalidate强制视图重绘当你想。删除路径,将“drawPath”设置为false并调用View.Invalidate。

+0

我会尝试此修复 – exequielc 2014-04-11 22:55:53