Владимир Жданов: Да, прошу прощенья. В ObjectManager-е объекты принципиально неизменяемы. Кажется, правильное решение примерно такое: класть в balloonContent изначально плейсхолдер типа «Идёт загрузка», и, при готовности данных, вызывать balloon.setData с актуальными данными. https://tech.yandex.ru/maps/doc/jsapi/2.1/ref/refe...
Владимир Жданов: Во-первых, current_marker.properties.balloonContent = balloon_content; нужно заменить на current_marker.properties.set('balloonContent', balloon_content);
Во-вторых, подключите, пожалуйста, API в mode=debug
Владимир Жданов: Писать документацию на проекты таких размеров, мягко говоря, нетривиально. Если есть конкретные предложения — мы с удовольствием подумаем над этим.
Владимир Жданов: Вам нужно (а) спросить у objectManager.overlays с помощью метода getById отрисован ли в данный момент объект с указанным id на карте, (б) если да — открыть на нём балун, (в) если нет — подписаться на событие add добавления нового оверлея и, после того, как оверлей с нужным id на карте появится, открывать балун https://tech.yandex.ru/maps/doc/jsapi/2.1/ref/refe...
Igor Belka: В API есть готовый компонент для этого — ObjectManager. Он, собственно, показывает только метки, попадающие в видимую область. https://tech.yandex.ru/maps/doc/jsapi/2.1/ref/refe...
Узнать статус каждого объекта можно через метод getObjectState
https://tech.yandex.ru/maps/doc/jsapi/2.1/ref/refe...