相关疑难解决方法(0)

Google Maps Utility:如何从ClusterManager <?>获取所有标记?

对不起我的英语不好

我尝试了该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却没有放置标记在地图上和稍后会做(可在后台线程).如果是这样,那我怎么能抓住那一刻呢?

android marker markerclusterer google-maps-android-api-2

7
推荐指数
2
解决办法
7941
查看次数