2015-02-23 144 views
1

我正在构建一个android应用程序,获取用户当前位置并找到附近的景点。当我选择一个吸引物时,从当前位置吸引一条路线,但当我第二次执行此操作时,第一条路线停留在那里,我希望它消失。以下是我用来画线的代码。每次绘制方向时,都会调用它。在每次调用方法之前,我都尝试过使用line.remove,但是这样会删除两行。有什么建议么?Android谷歌地图摆脱折线

for (int i = 0; i < pontos.size() - 1; i++) { 
        LatLng src = pontos.get(i); 
        LatLng dest = pontos.get(i + 1); 
        try{ 
         //here is where it will draw the polyline in your map 
         line = mMap.addPolyline(new PolylineOptions() 
           .add(new LatLng(src.latitude, src.longitude), 
             new LatLng(dest.latitude,    dest.longitude)) 
           .width(2).color(Color.RED).geodesic(true)); 

回答

1

在数组保存Polylines这样你就可以删除它们添加其他的面前:

List<Polyline> mPolylines = new ArrayList<>(); 

private void someMethod() { 
    // Remove polylines from map 
    for (Polyline polyline : mPolylines) { 
     polyline.remove(); 
    } 
    // Clear polyline array 
    mPolylines.clear(); 

    for (int i = 0; i < pontos.size() - 1; i++) { 
     LatLng src = pontos.get(i); 
     LatLng dest = pontos.get(i + 1); 

     mPolylines.add(mMap.addPolyline(new PolylineOptions() 
       .add(new LatLng(src.latitude, src.longitude), 
         new LatLng(dest.latitude, dest.longitude)) 
       .width(2).color(Color.RED).geodesic(true))); 

    } 
}