Клуб API Карт

LoadingObjectManager событие начала и окончания загрузки

ZelenyukIgor
8 февраля 2015, 23:17

Добрый вечер. Не смог найти ответ в документации.

Нужно показать прелоадер во время выполнения запросов к серверу. Возможно ли это сделать для LoadingObjectManager?

ObjectManager и решение со своими асинхронными запросами уже есть, но хотелось бы полностью перейти на LoadingObjectManager.

Речь не о спиннере на всю карту, нужен просто индикатор все ли точки уже на карте или еще нет.

Спасибо!

 

UPD.

Нашел способ:

Пока что можно реагировать на события коллекций объектов add и remove. Например, показывать индикатор при смене зума карты и убирать при первом событии add на коллекции объектов.

 

но не совсем понятно. Например при смене зума или при прокрутке карты фиксировать начало события не проблема, но как работать с событием add на коллекции объектов, если его может вообще не произойти (например, пользователь вернулся на тайл, для которого объекты уже получены).

1 комментарий
Игорь Ушко
14 августа, 16:54
События add и remove не сработают, если был вызван метод loadingObjectManager.reloadData() и на этом участке нет объектов.
Можно использовать такой хак, работает после добавления loadingObjectManager на карту:


var onDataLoadOrig = loadingObjectManager._dataLoadController.onDataLoad;
loadingObjectManager._dataLoadController.onDataLoad = function(e, t) {
onDataLoadOrig.call(loadingObjectManager._dataLoadController, e, t);
// code
};