Утилита Google Maps: как получить все маркеры из ClusterManager <?>?
Извините за мой английский
Я попробовалClusterManager<?>.getMarkerCollection().getMarkers()
метод, но он возвращает пустую коллекцию.
Я использую в своем приложенииGoogle Maps Utility Library
, Каждый раз послевращение экрана я создаюAsynkTask
и в фоновом потоке читать данные из БД и добавлять элементы вClusterManager
:
cursor.moveToFirst();
while (!cursor.isAfterLast()) {
SomeData row = readSomeDataRow(cursor);
clusterManager.addItem(new ClusterItemImpl(row));
cursor.moveToNext();
}
КогдаAsyncTask
закончил свою работу (т.е. в основной ветке) я попытался получить все маркеры изClusterManager
:
clusterManager.cluster();
// cluster manager returns empty collection \|/
markers = clusterManager.getMarkerCollection().getMarkers();
ноClusterManager
возвращает пустую коллекцию.
Может быть в тот момент, когда я позвонюgetMarkers()
ClusterManager
пока не размещает маркеры на карте и сделает это чуть позже (может быть в фоновом потоке). Если так, то как я могу поймать этот момент?