Клуб API Карт

Вопрос по правке одного из багов в релизе 2.0.17

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

в предыдущих версии была создано свойство которое позволяет балуну выходить за пределы карты, но не было учтено моменты с автоматическим открытием/закрытием балуна при входе/выходе балуна в область карты. С новой версией говорили что все будет поправлено.

Вопрос такой, это так он и будет работать? http://cybers.net.ua/balloon-out-of-map.php.  так как по мне балун не закрывается вобще когда балун смещаем в сторону. (это пример http://api.yandex.ru/maps/doc/jsapi/2.x/examples/balloon-out-of-map.html в который я поставил версию 2.0.17, и добавил еще одну метку для проверку другого бага который был описан в  http://clubs.ya.ru/mapsapi/replies.xml?parent_id=30287&item_no=30284&with_parent=1#reply-mapsapi-30287)

9 комментариев
Алексей Yarrr!
28 января 2016, 03:34

Непонятно. Вы предлагает автоматически закрывать балун, как только метка уехала за карту? Т.е. двигаем карту (балун уехал), возвращаем карту, и балун уже закрыт?

"так как по мне балун не закрывается вобще когда балун смещаем в сторону" — Вот эта фраза что обозначает?

Евгений, а в чем вы видите странное поведение? Как по-вашему он должен скрываться и показываться?

 

 

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

 

+1 что раньше правильно работало (при выходе закрывается при возвращении открывается)

Саш, а почему переделали?

 

Заметил баг - если балун за пределами карты и не виден,

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

 Балун становится видим до того как попадет на карту

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

 

Кажется, что это правильное поведение - переносить балун в обычный контейнер, при выходе точки привязки за пределы видимой области карты.

Скрывать его совсем - не самое хорошее решение и тянет за собой потенциальные баги и неожиданное поведение (например, если кто-то еще хочет открыть/закрыть балун).

Что касается отображения при кинетике-драге, то так как при css transitions у нас имеется только два состояния (события) - до начала преобразования и после его окончания, то в идеале пример должен учитывать оба события - скрываться при начале кинетика, и показываться после его окончания. Но кажется, что это без особой необходимости увеличит объем кода для тривиального примера.

Если есть серьезная необходимость, можно усложнить пример с учетом обоих этих состояний.

 

вот нашел еще один недочет

Вот, например, тут:  http://www.svadbagolik.ru/?m=oDSLF
Перетяните карту сразу вверх (но чтобы метка по прежнему оставалась в вилимой области карты), а потом перетяните ее вниз ( но так чтобы она немного заходила за пределы карты).  Этом случае кластеры перестраиваются и балун снова открывается, и открывается он как показано тут:  http://s1.hostingkartinok.com/uploads/images/2012/10/98baebf18dbc58e494d5b33fecadae83.jpg

 

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

Вот тут усложненный пример - с проверкой при открытии,  а также с учетом обоих состояний (до начала движения, после окончания):

 

http://ajaxy.ru/yamapsapi-examples/balloon-out-of-map.html

Спасибо большое!