Android Google Maps v2:确保功能完成后再继续

Android Google Maps v2: make sure function finished before continuing

在我的应用程序中,可以在地图上添加多个标记,这些标记保存在数组列表中。每当用户向地图添加新标记时,它有时会在很短的时间后从地图中删除。其他时候,标记会留在原地。

要点是 removeIcons() 仍然很忙,在 drawIcons() 之后完成

removeIcons();

//Redraw icons
drawIcons();

删除图标很简单:

private void removeIcons() {
  for (Marker iconMarker : iconMarkers) {
    iconMarker.remove();
  }
}

问题:如何确保 removeIcons 在调用 drawIcons 之前完成?

简单。

不要删除所有图标,然后将所有图标重新添加到 add/remove 1 个图标。

效率极低。

跟踪列表,添加一个标记,绘制它,然后完成。

这是因为 Google 地图视图在另一个线程上处理绘图,并且该线程可以 运行 而您的代码正在 运行ning。可悲的是,您无能为力地阻止这种行为。