Метод setPosition() для балуна работает некорректноо в yamaps
Пожскажите, плз, принцип работы метода setPosition для балуна в yandex maps.
Необходимо, чтобы балун открывался в центре полигона. Подписываюсь на событие open для балуна, в нем сечу координаты центра полигона при помощи setPosition. После этого балун открывается либо в левом верхнем, либо в правом верхнем углу полигона, но не в центре.
Ответы (1 шт):
Метод setPosition
у объектного балуна меняет координату, привязанную к объекту, но смещение балуна определяется опцией offset
. То есть балун всегда рассчитывается относительно координаты объекта с учетом заданного смещения. При попытке задать произвольную позицию получается, что смещение остается прежним – поэтому балун может открываться не там, где ожидается.
Если нужна произвольная позиция балуна (например, центр полигона), то лучше не пытаться менять координаты штатного балуна, а создать свой балун, где можно задать позиционирование самому.