2015-02-23 180 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))); 

    } 
}