ich Update versuchen meine Karte mit neueren Daten vom Server, aber ich kann nicht herausfinden, wie alt Elemente entfernen (Marker und Cluster - Mit ClusterManager) von der Karte (- scheint mir, dass ich nur in ClusterManager hinzufügenWie Update-Markierungen auf der Karte, wenn ClusterManager mit
I BroadcastReceiver haben die Absicht erhalten, wenn neue Daten, die ich so etwas wie dies versuchte: (aber es gibt mir UnsupportedOperationException auf Linie mit “.... .getMarkers(). clear(); "
private BroadcastReceiver myRefrestMapBroadcastReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
Log.d(TAG, "onReceive");
mClusterManager.clearItems();
mClusterManager.getMarkerCollection().getMarkers().clear();
mClusterManager.getClusterMarkerCollection().getMarkers().clear();
mClusterManager.addItems(LocationGetter.getReports());
}
};
I hinzugefügt Daten nur mit diese Funktion abzubilden.
java.util.Collection<Marker> userCollection = mClusterManager.getMarkerCollection().getMarkers();
ArrayList<Marker> userList = new ArrayList<Marker>(userCollection);
// now is userList empty
for(Marker marker: userList){
marker.remove();
}
java.util.Collection<Marker> userCollection2 = mClusterManager.getClusterMarkerCollection().getMarkers();
ArrayList<Marker> userList2 = new ArrayList<Marker>(userCollection2);
// now is userList2 empty
for(Marker marker: userList2){
marker.remove();
}
mClusterManager.addItems(LocationGetter.getReports());
Ich habe die Methode hier verwendet Wenn Sie die leere 'ArrayList' erhalten, vergewissern Sie sich, dass Sie' ClusterManager' und 'MarkerCollection()' richtig eingestellt haben. – bjiang