Клуб API Карт

Позиционирование балуна

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

Всем здравствуйте :)

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

В документации по определению собственного стиля для полигона нарыл методы getOffset и moveTo, но не очень понял, как они работают :)

Посему прошу помощи у сообщества :)

7 комментариев
Андрей Синицын
28 января 2016, 07:46
Этот пример я смотрел :) в принципе, оттуда весь код и брал. Но там метка на карте, а у меня полигон. И клик может быть по любой точке этого полигона. И я хочу, соответственно, привязывать "указатель" балуна (ну то есть "хвостик") именно к точке клика по полигону.
Андрей Синицын
28 января 2016, 07:46
Т.е. дефолтный балун имеет именно такое поведение.
А вы бы не могли дать ссылку на страницу с проблемой? Или привести пример кода?
Андрей Синицын
28 января 2016, 07:46
Да, конечно.
http://boombick.org/map/
В методе onAddToParent() вызовите update():
// Добавляет макет на страницу
this.onAddToParent = function (parentNode) {
    YMaps.jQuery(parentNode).append(this.element);
    this.update();
};
Метод update() поправьте тоже. Например, в реализации ниже балун будет выпадать вниз:
// Обновляет балун
this.update = function() {
    this.element.css("margin-top", "-" + (this.content.height() - 200) + "px");
};
Андрей Синицын
28 января 2016, 07:46
Огромное спасибо!! Все заработало :)