Клуб API Карт

Открыть balloon у оверлея созданного с помощью LoadingObjectManager

nick.shnobilyans
22 мая, 21:32

Всем добрый вечер, использую yandex map api 2.1 в приложении на reactjs. Есть карта, на которой отрисовываются точки. Точек много поэтому гружу их как-то так:

const loadingObjectManager = new ymaps.LoadingObjectManager(poiService.getPoiUrl(onlyOffices),
        {
          clusterize: true,
          clusterHasBalloon: false,
          geoObjectHideIconOnBalloonOpen: false,
          geoObjectBalloonContentLayout: getBalloonContentLayout(ymaps, dispatch, getState),
          geoObjectBalloonPanelMaxMapArea: 0,
          geoObjectBalloonCloseButton: false,
          balloonOffset: [5,-38],
          geoObjectBalloonMaxHeight: 558,
        });
map.geoObjects.add(loadingObjectManager);

Все отлично работает при клике на метку получаю заветный balloon.

Появилась необходимость из отдельного react-компонента-списка стучаться в карту при клике на элемент и показывать balloon конкретного оверлея.

Полазил по документации, но так и не смог найти ничего подходящего. Подскажите, пожалуйста, как правильно вызвать этот balloon?

3 комментария
Подписаться на комментарии к посту
При наличии objectId объекта открыть его балун можно через метод open у ObjectManager.Balloon
objectManager.objects.balloon.open(objectId);
Обновлено 23 мая, 06:51
nick.shnobilyans
24 мая, 19:19
dimik,
спасибо, помогло. Один момент,  т.к я использую для загрузки LoadingObjectManager, то когда я обращаюсь пытаюсь открыть балун точки которая пока не попала в область карты, по получаю вполне понятную ошибку - Cannot read property 'geometry' of null. Какой способ обойти это ограничение? Как правильней добавить объект в список?
nick.shnobilyans,
Видимо, если объекта еще нет, нужно переместить карту на координаты объекта и ждать когда он добавится и тогда открывать балун
Обновлено 24 мая, 20:41