2016-10-13 1 views
0

In meiner Anwendung habe ich einen ArrayList Marker, genau:Das Entfernen einzelnen Marker aus Karte und Liste zusammen

public ArrayList<Marker> listMarker = new ArrayList<Marker>(); 
    public int p = listMarker.size(); 
    public Marker singleMarker; 

I Marker setze in ArrayList wie folgt:

MarkerOptions options = new MarkerOptions() 
       .position(latLng); 
listMarker.add(p, singleMarker = nMap.addMarker(options)); 

Ich war auf der Suche für vor Ort das gleiche Problem, und ich habe nicht gefunden Jetzt versuche ich zu tun, dass jeder Knopf klicken wird den letzten Marker aus der Karte und Liste entfernen. Wenn ich 5 Marker habe, die auf 4 klicken, ist der nächste Klick 3 und so weiter. Aber nicht nur aus der Liste, und auch aus der Karte, das größte Problem

Mein Versuch, die nicht wie das funktioniert:

deleteButton.setOnClickListener(new View.OnClickListener() { 

    public void onClick(View view) { 

     listMarker.remove(k); 

    } 
}); 

Knopf Marker aus der Karte nicht entfernt wird. Ich vermute, dass dies nur den letzten Marker aus der Liste entfernt, aber nicht von der Karte und weiß nicht, wie man damit umgeht.

+0

Dies ist sehr unklar. Es ist schwer zu sagen, was das Problem ist oder was du verlangst. – Tibrogargan

Antwort

2

Derzeit sind nur die Markierung aus der Liste zu entfernen, wird die Karte geht auf ihn zu halten, bis Sie sie explizit entfernen ... Aufruf an der Markierung entfernen Sie sie aus der Karte zu entfernen, etwa so:

deleteButton.setOnClickListener(new View.OnClickListener() { 

    public void onClick(View view) { 
     if (listMarker != null && !listMarker.isEmpty()) { 
      listMarker.get(k).remove(); // Add this line 
      listMarker.remove(k); 
     }  
    } 
}); 
+0

Ich habe versucht, ein paar Stunden zu tun, danke! Jetzt, wenn ich nicht auf Karte Marker und ich klicken Sie auf die Schaltfläche, bekomme ich Fehler: "java.lang.IndexOutOfBoundsException: Ungültiger Index 0, Größe ist 0". Sie wissen, wie man es repariert? – thomas2k2k

+0

Fügen Sie eine einfache Überprüfung hinzu, um festzustellen, ob die Liste leer ist, bevor Sie sie entfernen. Siehe aktualisierten Code. Ich ermutige Sie, ein bisschen mehr zu lernen, bevor Sie weitere Fragen zu Stackoverflow stellen, da diese eher grundlegende und spezifische Dinge sind ... Sie werden durch einige Selbstuntersuchungen viel tieferes Wissen erlangen! – Demonsoul

+0

sehr danke !!! – thomas2k2k