Клуб API Карт

Открытие балуна вниз API v.2

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

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

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

Т.е. нужно сделать так чтобы не сдвигать карту при возможности открыть балун вниз.

 

Как пример то что нужно: рабочий вариант на booking, если приблизить карту при наведении на метки балуны открываются 

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

 

Каким образом (желательно самым простым) можно реализовать такое поведение при открытии балунов в api яндекс карт 2.0?

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

Такое, а так же многое другое (почти всё что угодно) можно реализовать с помощью собственного макета балуна

спасибо, я в принципе так и предполагал - но с помощью своего макета можно это тоже как я понимаю сделать по разному.

Пока у меня одна идея, сделать так как здесь свой макет

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

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

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

 

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

Чтобы понимать с чего начать и в какую сторону смотреть?

 

И еще, в данном примере есть строка:

        // Задаем макет балуна - пользовательская картинка с контентом

        balloonLayout: "default#imageWithContent",

 

Я не смог найти в документации какие еще значения могу быть кроме imageWithContent?

Такой макет вам не подойдет.

Нужен макет со своим html-содержимым и поведением.

Пример можно посмотреть в документации

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

реализовать изначальную задачу - открытие балуна в свободной зоне на карте.

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