एंड्रॉइड के लिए नए Google मैप्स एपीआई में, हम एक मार्कर जोड़ सकते हैं , लेकिन (आसानी से) को हटाने का कोई तरीका नहीं है।
मेरा समाधान मार्करों को एक नक्शे में रखना है और जब मैं एक मार्कर को निकालना चाहता हूं, तो नक्शे को फिर से तैयार करना है, लेकिन यह बहुत कुशल नहीं है।
private final Map<String, MarkerOptions> mMarkers = new ConcurrentHashMap<String, MarkerOptions>();
private void add(String name, LatLng ll) {
final MarkerOptions marker = new MarkerOptions().position(ll).title(name);
mMarkers.put(name, marker);
runOnUiThread(new Runnable() {
@Override
public void run() {
mMap.addMarker(marker);
}
});
}
private void remove(String name) {
mMarkers.remove(name);
runOnUiThread(new Runnable() {
@Override
public void run() {
mMap.clear();
for (MarkerOptions item : mMarkers.values()) {
mMap.addMarker(item);
}
}
});
}
क्या किसी के पास बेहतर विचार है?