【发布时间】:2013-12-09 17:09:03
【问题描述】:
我使用以下方法在地图上添加了标记并保留了标记记录
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();
}
});
请帮助如果有人经历过同样的事情。提前致谢
【问题讨论】:
-
调用
googleMap.clear()而不是删除单个标记是否有效? -
@MaciejGórski 不,它不起作用,它会清除完整的地图。我自己得到了答案..你是同样的问题吗?
-
没有。如果您找到了解决方案,请将其发布为答案并接受,这样寻求帮助的人就不会阅读它,而寻求帮助的人会向您学习。
标签: android google-maps