2016-11-30 11 views
1

私はpolylineをアニメーションのように地図上に描いています。以下のように。Androidはマップv2からポリラインを削除します

m_handler = new Handler(); 
     m_handlerTask = new Runnable() { 
      @Override 
      public void run() { 
       //line.remove(); 
       if (t < pointsPoly.size() - 1) { 

        LatLng src = pointsPoly.get(t); 
        LatLng dest = pointsPoly.get(t + 1); 
        Polyline lineAnimation = googleMap.addPolyline(new PolylineOptions() 
          .add(new LatLng(src.latitude, src.longitude), 
            new LatLng(dest.latitude, dest.longitude)) 
          .width(10).color(Color.DKGRAY).geodesic(true)); 
        t++; 

       } else { 
        t = 0; 

       } 
       m_handler.postDelayed(m_handlerTask, polyLineTimer); 
      } 
     }; 
     m_handler.post(m_handlerTask); 

polylineを削除するにはどうすればよいですか?私はclearMap()にしたくありません。 私はlineAnimation.remove();を試しましたが、動作しません。

+0

ポリラインを複数回追加していませんか?だから、あなたがそれを削除しようとしたとき、削除されていないと思うもう一つのものがありますか? – Jaythaking

+0

私は1つを作成するたびに、ArrayListにそれらを保存しようとしましたが、削除が必要な場合は、その配列を繰り返して削除してください... – Jaythaking

+0

@jaythakin私は追加と削除の例を教えてください。 – user3555472

答えて

3

あなただけのArrayListに入れて、変数に結果を代入以下の代わりのない...

ArrayList<Polyline> lines = new ArrayList<>(); 
    //Add line to map 
    lines.add(mMap.addPolyline(new PolylineOptions() 
       .add(new LatLng(location.getLatitude(), location.getLongitude()), 
         new LatLng(this.destinationLatitude, this.destinationLongitude)) 
       .width(1) 
       .color(Color.DKGRAY)); 

    //Remove the same line from map 
    line.remove(); 

がマップからこのポリラインを削除します。ポリラインが削除された後、 すべてのメソッドの動作は未定義です。

+0

すばらしいansのおかげで。私はポリラインをarraylistに追加して地図上に表示する方法を知らない:(。その解決策は私が必要なもの:( – user3555472

+0

私は答えを編集しました... – Jaythaking

+0

ありがとうございました.......私は明日それを試してみます – user3555472

関連する問題