2017-08-02 2 views
0

Je souhaite que la polyligne déjà créée sur une autre méthode soit supprimée. Est-il possible de supprimer cette polyligne spécifique? Voici mes codes pour ajouter une polyligne.Comment supprimer une polyligne créée sur une autre méthode

public void lardizabalToTayuman() { 
map.addPolyline(new PolylineOptions().add(
       new LatLng(14.617071, 120.989945), 
       new LatLng(14.605693, 121.000863), 
       new LatLng(14.605599, 121.000939), 
       new LatLng(14.603097, 121.001786), 
       new LatLng(14.602900, 121.001089), 
       new LatLng(14.605246, 121.000252), 
       new LatLng(14.613429, 120.992410), 
       new LatLng(14.611934, 120.990768), 
       new LatLng(14.617094, 120.985795) 
       ) 
         .width(5) 
         .color(Color.RED) 

     ); 
} 

Mes codes onMapReady:

public void onMapReady(GoogleMap googleMap) { 
     map = googleMap; 

     LatLng manila = new LatLng(14.5995, 120.9842); 
     MarkerOptions option = new MarkerOptions(); 
     option.position(manila).title("Manila"); 
     map.addMarker(option); 
     map.moveCamera(CameraUpdateFactory.newLatLng(manila)); 
     lardizabalToTayuman(); 
} 

Répondre

2

Vous pouvez obtenir la référence du Polyline et il suffit d'appeler .remove(), il va supprimer la polyligne.

Exp:

Polyline myPolyline = map.addPolyline(new PolylineOptions().add(
       new LatLng(14.617071, 120.989945),.. 
       )); 

et tout en enlevant tout simplement appeler myPolyline.remove();

Note:

Ajouté Polyline myPolyline comme une variable globale, donc que vous pouvez l'accès à d'autres méthodes.

Modifié:

En cas vous pouvez le faire comme ça,

private Polyline myPolyline; 

public void lardizabalToTayuman() { 
    myPolyline = map.addPolyline(new PolylineOptions().add(
       new LatLng(14.617071, 120.989945), 
       new LatLng(14.605693, 121.000863), 
       new LatLng(14.605599, 121.000939), 
       new LatLng(14.603097, 121.001786), 
       new LatLng(14.602900, 121.001089), 
       new LatLng(14.605246, 121.000252), 
       new LatLng(14.613429, 120.992410), 
       new LatLng(14.611934, 120.990768), 
       new LatLng(14.617094, 120.985795) 
       ) 
         .width(5) 
         .color(Color.RED) 

     ); 
} 

Lorsque vous souhaitez supprimer simplement appeler cette méthode,

private void removeLardizabalToTayuman() { 
    if(myPolyline != null) { 
     myPolyline.remove(); 
    } 
} 
+0

Je modifié ma question, désolé pour poster une question qui n'est pas encore terminée. Mon ami a cliqué sur le message avant de me laisser finir. –

+0

Merci! Ce dont nous avions besoin Acceptez la réponse plus tard. –

+0

ok nop, j'ai mis à jour ma réponse jetez un oeil. –