gpt4 book ai didi

android - 如何删除 Google map v2 中的标记?

转载 作者:太空狗 更新时间:2023-10-29 15:41:56 27 4
gpt4 key购买 nike

我使用以下方法在 map 上添加了标记,并保留了标记记录

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();




}
});

如果有人经历过同样的事情,请帮忙。提前致谢

最佳答案

我在谷歌上搜索了很多,发现没有简单的方法可以从 map 上删除标记,每当您将标记添加到 map 时,不要忘记保留其记录,例如将其添加到 Map 或 ArrayList。

your_google_map_obj.addMarker(new MarkerOptions()) //this adds Marker on Google Map, you should know it always returns Marker object so that you can use it later especially for removal.

因此 Marker marker=your_google_map_obj.addMarker(new MarkerOptions()) 将此标记对象添加到列表或 map markerArraylist.add(marker); 然后您可以轻松提取列表中的标记Marker marker=markerArraylist.get(index); 然后调用 marker.remove();

关于android - 如何删除 Google map v2 中的标记?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20185203/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com