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。可悲的是,您无能为力地阻止这种行为。
在我的应用程序中,可以在地图上添加多个标记,这些标记保存在数组列表中。每当用户向地图添加新标记时,它有时会在很短的时间后从地图中删除。其他时候,标记会留在原地。
要点是 removeIcons() 仍然很忙,在 drawIcons() 之后完成
removeIcons();
//Redraw icons
drawIcons();
删除图标很简单:
private void removeIcons() {
for (Marker iconMarker : iconMarkers) {
iconMarker.remove();
}
}
问题:如何确保 removeIcons 在调用 drawIcons 之前完成?
简单。
不要删除所有图标,然后将所有图标重新添加到 add/remove 1 个图标。
效率极低。
跟踪列表,添加一个标记,绘制它,然后完成。
这是因为 Google 地图视图在另一个线程上处理绘图,并且该线程可以 运行 而您的代码正在 运行ning。可悲的是,您无能为力地阻止这种行为。