2017-05-05 72 views
0

在我的应用程序中,可以在地图上添加多个标记,并将这些标记保存在一个数组列表中。无论何时用户向地图添加新的标记,它都会在很短的时间后从地图中移除。有些时候标记仍然存在。Android Google Maps v2:确保功能在继续之前完成

它的要点是removeIcons()还在忙着和drawIcons()

removeIcons(); 

//Redraw icons 
drawIcons(); 

删除图标简直后结束:

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

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

回答

0

简单。

请勿删除所有图标,然后重新添加所有图标以添加/删除1个图标。

这非常低效。

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

发生这种情况是因为Google地图视图在另一个线程上处理绘图,并且该线程可以在您的代码运行时运行。没有办法可悲地阻止这种行为。

+0

谢谢,否则我确实无法删除标记。我会尝试这条路线 – Fullhdpixel

相关问题