Как определить сдвиг карты или остановить событие boundschagne чтобы объекты не закрывались?
У меня построена карта с кастомными метками и балунами, которые грузятся по ajax. Как сами метки, так отдельно и инфа. Проблема в том, что если я кликну на метку или кластер, он откроется, если находится у края карты, то она сдвигается, соответственно отработает событие загрузки меток, и балун схлопнется. Для балунов я решил кардинально - balloonAutoPan: false. Для кластеров это не сработало, даже если clusterAutoPan или clusterBalloonAutoPan - ничего. Вообще это плохой способ, но хотя бы. Пытался сделать костыль, который нашёл в интернетах, суть была в том, что при открытии балуна и до сдвига мы удаляем событие boundschange, после сдвига включаем. Но не заехало.
Долго сражался с этим. Единственное решение, которое работало для балунов - искать метку руками и удалять все остальные из objectManager'а. Тоже костыль, но работает. С кластерами имхо ничего не сделать в данной реализации, т.к. они пересчитываются при добавлении новых и в общем случае кластера после пересчета может уже не существовать.
Есть довольно очевидный вариант - не вызывать загрузку в boundschange, если в данный момент открыт балун. Решение тоже костыльное, и тоже не самое лучшее.
Вариант очевидный,но несмог реализовать. То есть добавлял autopanstart и autopanend, удалял событие boundschange на первом и возвращал на втором - не действует почему-то. "Решил" сейчас просто: margin: 200 для карты. По прежнему схлопывает,но уже 1 из 50 случаев.
sinneren: достаточно в самом событии проверить, а не открыт ли балун. Вроде как ObjectManager.objects/clusters.balloon.isOpen()
С маржинами то да, но для небольших разрешений такое решение не подходит. Или когда карта не фуллскрин.