Клуб API Карт

boundschange и открытие балуна

Пост в архиве.

Добрый день.

Имею следущее:

1. На карте есть клайстер.

2. На карте есть видимое поле.

3. На карту навешано boundschange, которое подсасывает новые объекты с сервера с новой зоны видимости и добавляет их в клайстер.

Проблема заключается в том, что при добавлении объектов в клайстер открытый балун почему-то закрывается. А при открытии балуна карта может сама сдвинуться, чтобы он вошел в нее по размерам, и тогда начнется добавление новых объектов, ну и балун соответственно закроется.


Вопрос: можно ли это как-то запобедить? Желателен вариант решения с незакрывающимся балуном.

7 комментариев

Здравсвуйте, вы уверены, что балун закрывается именно из-за добавления объектов? Более вероятна ситуация, когда при смещении карты кластер, на котором открыт балун, перестает попадать в видимую область карты и удаляется. Балун соответственно закрывается.

Я, может быть, не совсем правильно понимаю терменологию.. Кластер у меня один, в него добавляются все существующие точки.

this.cluster = new ymaps.Clusterer();
this.map.geoObjects.add(this.cluster);

....

this.cluster.add([]); // вот на  этом месте балун закрывается, даже если передается пустой массив.

 

this.cluster.add([]); // вот на  этом месте балун закрывается, даже если передается пустой массив.

Так быть не должно, возможно это баг.

Спасибо за сообщение.

эта тема уже обсуждалась

проблемы возникают потому что вы выбрали не самый лучший способ загрузки данных на карту.

Дело в том, что у меня тз состоит в том, чтобы сделать так и никак иначе, не могу с этим пока ничего поделать. Но тут дело вот в чем, у меня точно не перезаписывается точка открытого балуна. На уровне явасркипта идет проверка, была ли эта точка ранее добавлена в кластер, если была - то она просто пропускается.

загружайте по видимой области, но с запасом (берите чуть больше область)

тогда сдвиг на пару пикселей при автопане балуна не будет приводить к перезагрузке данных