每次调用函数时删除未知数量的标记 [Google 地图 API android]

Removing unknown number of markers each time the function is called [Google Maps API android]

我正在为 android 设备使用 googles 地图 api,并且我有一个 功能可以在整个地图上生成标记,该函数每隔几秒调用一次,标记位置可能会改变,因此 我需要一种方法来删除所有不相关的标记,但我不知道如何删除它们虽然我不知道我有多少。

我的函数如下所示:

                        JSONObject counter = jObj.getJSONObject(String.valueOf(x));
                    while (counter.getString("untilwhen")!= "true")
                    {
                        JSONObject lat = jObj.getJSONObject(String.valueOf(x));
                        String latitude = lat.getString("latitude");
                        JSONObject lon = jObj.getJSONObject(String.valueOf(x));
                        String longitude = lon.getString("longitude");
                        LatLng latLng1 = new LatLng(Double.parseDouble(latitude), Double.parseDouble(longitude));
                        mMap.addMarker(new MarkerOptions().position(latLng1).title("user"));
                        x = x+1;
                        counter = jObj.getJSONObject(String.valueOf(x));
                    }

我怎样才能mMap.addMarker(new MarkerOptions().position(latLng1).title("user"));删除所有旧的并用新的替换它们。

希望你明白...

您需要跟踪您在地图上的标记。 addMarker returns 一个标记,所以将其放入列表中,否则调用 clear() 删除地图上的所有标记