对不起我的英语不好
我尝试了该ClusterManager<?>.getMarkerCollection().getMarkers()方法,但它返回空集合.
我在我的应用中使用Google Maps Utility Library.每次屏幕旋转后,我都会创建AsynkTask并在后台线程中从DB读取数据并将项目添加到ClusterManager:
cursor.moveToFirst();
while (!cursor.isAfterLast()) {
SomeData row = readSomeDataRow(cursor);
clusterManager.addItem(new ClusterItemImpl(row));
cursor.moveToNext();
}
Run Code Online (Sandbox Code Playgroud)
当AsyncTask完成它的工作(即在主线程中)我试图从以下所有标记ClusterManager:
clusterManager.cluster();
// cluster manager returns empty collection \|/
markers = clusterManager.getMarkerCollection().getMarkers();
Run Code Online (Sandbox Code Playgroud)
但是ClusterManager返回空集合.
可在那一刻,当我打电话getMarkers()的ClusterManager却没有放置标记在地图上和稍后会做(可在后台线程).如果是这样,那我怎么能抓住那一刻呢?