我用下面的方法添加的標記在地圖上,也保持了標記記錄如何刪除Google map v2中的標記?
public static void showallLocations()
{
ArrayList<LinkedHashMap<String, String>> listshow=latLngStoragepreference.getLatlng();
markerlist=new ArrayList<Marker>();// to keep the marker record so that later we can delete
if(listshow.size()>0)
{
for(int i=0;i<listshow.size();i++)
{
LinkedHashMap<String, String> Linkedhashmap=listshow.get(i);
Set mapSet = (Set) Linkedhashmap.entrySet();
//Create iterator on Set
Iterator mapIterator = mapSet.iterator();
Map.Entry mapEntry = (Map.Entry) mapIterator.next();
// getKey Method of HashMap access a key of map
String keyValue = (String) mapEntry.getKey();
//getValue method returns corresponding key's value
String value = (String) mapEntry.getValue();
String[] parts=value.split("#");
String Latitude=parts[0];
String Longitude=parts[1];
Double Latitudeconverted=Double.parseDouble(Latitude);
Double Longitudeconverted=Double.parseDouble(Longitude);
System.out.println(Latitudeconverted+""+Longitudeconverted);
//show on map
LatLng latLngs=new LatLng(Latitudeconverted, Longitudeconverted);
Marker marker=map.addMarker(new MarkerOptions()
.position(
latLngs)
.title(keyValue)
.icon(BitmapDescriptorFactory.fromResource(R.drawable.ic_navigate_to)));
markerlist.add(marker);// keeping the record of marker object
}
}
}
定製baseadapter,我試圖刪除標記,但marker.remove()
沒有工作
holder.btnDeletelocation.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Marker marker= MainActivity.markerlist.get(position);
Log.d("MARKERlist before Remove", MainActivity.markerlist.toString());
Log.d("MARKER Title",marker.getTitle());
marker.remove();
marker.setVisible(false);
Log.d("MARKERlist after Remove", MainActivity.markerlist.toString());
notifyDataSetChanged();
}
});
請幫助如果任何人都經歷過相同的過程。在此先感謝
看到這個問題, HTTP://計算器.com/questions/13692398/remove-a-marker-from-a-googlemap –
如果您調用'googleMap.clear()'而不是刪除單個標記,它會起作用嗎? –
@MaciejGórski不,它不起作用,它會清除完整的地圖。我得到了我自己的答案...你在同一個問題? –