Как вывести список объектов карты при использовании LoadingObjectManager?
Для подгрузки элементов на карту использую LoadingObjectManager.
var myMap = new ymaps.Map("pickup-map", {
center: [61.9363, 99.4921],
zoom: 9,
controls: ['zoomControl', 'searchControl', 'fullscreenControl']
});
var loadingObjectManager = new ymaps.LoadingObjectManager('/my-link/?%b',
{
paddingTemplate: 'callbackFunction_%b',
clusterize: true,
}
);
myMap.geoObjects.add(loadingObjectManager);
LoadingObjectManager отправляет запрос на бэк и получает ответ в виде jsonp с информацией об объектах, попадающими в зону видимости. На карте метки отображаются и кластеризуются корректно.
Ответ от сервера выглядит примерно так:
callback_function({
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"id": 0,
"geometry": {
"type": "Point",
"coordinates": [55.831903, 37.411961]
},
"properties": {
"balloonContent": "Содержимое балуна",
"clusterCaption": "Метка 1",
"hintContent": "Текст подсказки"
}
},
{
"type": "Feature",
"id": 1,
"geometry": {
"type": "Point",
"coordinates": [55.763338, 37.565466]
},
"properties": {
"balloonContent": "Содержимое балуна",
"clusterCaption": "Метка 2",
"hintContent": "Текст подсказки"
}
}
]
})
Но сбоку от карты необходимо создать список объектов и, естественно, обновлять его содержимое.
Аналогичная история реализована на wildberries при выборе пункта выдачи: слева список пунктов, находящихся в зоне видимости, справа - карта с метками.

Как получить массив объектов на карте? Вся информация, необходимая для создания списка, находится в properties у каждого объекта. Но при использовании LoadingObjectManager коллекция объектов не проходит через сохранение в какую-либо переменнную.
За что зацепиться для обновления списка? Обновление при добавлении object не поможет - при небольшом зуме данные влетают кластерами и не триггерят добавление объектов.
Если получить эту информацию с LoadingObjectManager невозможно, тогда с помощью чего решить данную задачу?
Solved.
myMap.events.add('boundschange', function () {
ymaps
.geoQuery(loadingObjectManager.objects)
.searchInside(myMap)
.each(function (object) {
console.log(object.properties.get('name'));
});
});