Android google 移除标记的地图问题

Android google maps trouble on markers remove

我正在实施 Android Google 地图 v2。并添加到地图上几个标记,在删除位于屏幕边界之外的标记后,一些标记图标丢失了图像 Marker icons after removing other markers 如果使用 maker.setVisible(false) 一切正常

调用 marker.remove()

的代码

List<Point> points = ((SearchPointsMapResponse) response).getPoints(); Iterator<Point> iterator; for (iterator = mPoints.values().iterator(); iterator.hasNext();) { Point point = iterator.next(); if (!points.contains(point)) { Marker marker = mMarkers.remove(point.getId()); marker.remove(); iterator.remove(); } }

我猜问题出在这部分:

 Marker marker = mMarkers.remove(point.getId());
 marker.remove();
 iterator.remove();

mMarkers.remove(int);

将删除该特定位置的对象!不是那个 id 的对象! 让我们举个例子:

我们有一个 id 为 3 的点。调用 mMarkers.remove(3); 将删除第 4 个添加的标记!不是 id 为 3 的标记!