Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/209.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何删除谷歌地图标记并替换为新标记?HTTP请求_Java_Android_Json_Google Maps - Fatal编程技术网

Java 如何删除谷歌地图标记并替换为新标记?HTTP请求

Java 如何删除谷歌地图标记并替换为新标记?HTTP请求,java,android,json,google-maps,Java,Android,Json,Google Maps,好的,这是我问题的解释。首先,我根据从服务器获得的数据在地图上创建许多标记。现在,我想做的是提出一个新的请求并获得新的标记,但是删除之前创建的所有标记。我做不到 map.clear(); 因为我的地图上有一个地面覆盖图,如果我这样做,它也会消失。 你知道怎么做吗?我将不胜感激 您可以将标记存储在列表或任何集合中,然后通过调用标记的remove函数循环并删除它们。另外,当您调用map.addMarker时。。。您将获得标记对象,可以将其添加到存储的标记列表中 List<Marker>

好的,这是我问题的解释。首先,我根据从服务器获得的数据在地图上创建许多标记。现在,我想做的是提出一个新的请求并获得新的标记,但是删除之前创建的所有标记。我做不到

map.clear();
因为我的地图上有一个地面覆盖图,如果我这样做,它也会消失。
你知道怎么做吗?我将不胜感激

您可以将标记存储在列表或任何集合中,然后通过调用标记的remove函数循环并删除它们。另外,当您调用map.addMarker时。。。您将获得标记对象,可以将其添加到存储的标记列表中

List<Marker> markers = new ArrayList<>();
markers.add(map.addMarker(...)); // for example
...
...
//Later
for(Marker marker: markers) {
   marker.remove();
}