Java 清除所有标记(选定标记除外)
是否可以清除除所选标记(显示信息窗口的标记)之外的所有谷歌地图标记,并保持其信息窗口打开 我正在使用此代码刷新地图,它将清除所有标记,并根据相机所在位置添加新标记:Java 清除所有标记(选定标记除外),java,android,google-maps,google-maps-android-api-2,Java,Android,Google Maps,Google Maps Android Api 2,是否可以清除除所选标记(显示信息窗口的标记)之外的所有谷歌地图标记,并保持其信息窗口打开 我正在使用此代码刷新地图,它将清除所有标记,并根据相机所在位置添加新标记: googleMap.clear(); // Save all the marker which will be kept on a new list, remove the others for (int j = 0; j < markers.size(
googleMap.clear();
// Save all the marker which will be kept on a new list, remove the others
for (int j = 0; j < markers.size(); j++) {
googleMap.addMarker(markers.get(j));
}
googleMap.clear();
//保存将保留在新列表中的所有标记,删除其他标记
对于(int j=0;j
但是,由于信息窗口是可单击的,并且单击打开一个新片段,我希望所选标记不受此clear()
的影响,因此标记及其信息窗口不会消失。我希望通过使用GoogleMap对象中提供的方法来实现这一点,而不是在标记列表上循环,这可能需要很多时间
谢谢。你能试试这个吗
Marker markerName = map.addMarker(new MarkerOptions().position(latLng).title("Title"));
无论何时要删除它,都可以调用
markerName.remove()代码>
如果有多个数据,则使用for循环并删除除所选标记之外的所有数据
希望这会有意义。我想,您应该使用,map.clear()
从地图中删除所有标记。然后根据@Hiren的评论,你可以添加一个你想要保留的标记。这比你期望的要快一点
Marker markerName = map.addMarker(new MarkerOptions().position(latLng).title("Title"));
注意:map.clear()代码>还将删除多段线、圆等。如何定义标记?它是一个ArrayList
?是的。但是一个接一个地移除每个标记会有点太乱。我很怀疑谷歌地图有没有一种方法可以直接做到这一点,我认为单独删除每个标记是唯一的解决办法。您已经有了列表,所以应该很容易实现。Arf。。。我会看看是否有人能解决这个问题,否则我会这么做的,谢谢。嗨,Hiren,这很有意义是的,我正在考虑使用它。然而,我更准确地寻找一种方法来实现这一点,使用我的谷歌地图对象中提供的方法,获取更多信息clarity@Virthuss,好的,请尝试一下,我已经实现了,它可以工作了。但是像这样在一组标记上循环会有糟糕的表现。这就是为什么我在寻找另一条路是的。它会关上的,我想留着它open@Virthuss,是的,可以再打开,检查一下。谢谢,我要试试这个。我也会投票支持你的答案。