Клуб API Карт

LoadingObjectManager Узнать, что данные обновились

Valentin
22 декабря 2016, 17:22

Подскажите пожалуйста, как узнать, что при исп LOM пришел ответ от сервера с точками?

Вот создаю ЛОМ и креплю к карте:

objectManager = new ymaps.LoadingObjectManager(mapControl.data.url, {
	// настройки
});
myMap.geoObjects.add(objectManager);

Как узнать, сколько пришло и пришли ли точки по новым координатам? Нужно что бы показывать окошко о количестве найденных результатах.

Не получается прикрутить  searchInside к LOM (прим. из вашей песочнице: https://tech.yandex.ru/maps/jsbox/2.1/show_visible_objects ).

Существует какая ни будь замена?

Спасибо.

6 комментариев
Подписаться на комментарии к посту
ymaps.geoQuery(objectManager.objects.getAll()).searchInside(...)
dimik,
Ошибка: TypeError: internalGeometry.getType is not a function если функция ymaps.geoQuery(objectManager.objects.getAll()).searchInside(myMap) завернута в myMap.events.add('boundschange', function () {...});
Если вызываем ранее, то объект _objects с пустым массивом, хотя точки есть
voznuyk@hamelius.ru,
Не надо это заворачивать в boundschange 
dimik,
А как мне узнать, что пользователь передвинул карту и на новой области видимости нет точек?
voznuyk@hamelius.ru,
нужно слушать add/remove на коллекции objects и самому проверять количество точек и их видимость.
dimik,
Не получается.
Вот вешаю событие:
objectManager.objects.events.add(['add', 'remove'], function (event) {
// add удается увидеть в консоле, а так же
// получить количество, через objectManager.objects.getAll())
});
remove никак не работает. Подумал самому удалять точки, исп пример в песочнице: https://tech.yandex.ru/maps/jsbox/2.1/show_visible_objects , где objects это objectManager.objects. Ничего. Точки только прибавляются.