geoObject.Balloon

Менеджер балуна геообъекта. Позволяет управлять балуном геообъекта, открывать и скрывать его. Использует внутри себя менеджер балуна карты map.Balloon. Геообъекты содержат экземпляр этого класса, доступный как myGeoObject.balloon. Не создавайте экземпляры этого класса без необходимости.

См.: GeoObject.balloon

Конструктор | Поля | События | Методы

Конструктор

geoObject.Balloon(geoObject)

Параметры:

Параметр Значение по умолчанию Описание
geoObject *

Тип: Object

Геообъект.

* Обязательный параметр/опция.

Поля

Имя Тип Описание
events event.Manager

Менеджер событий балуна геообъекта.

События

Имя Описание
close

Закрытие балуна. Экземпляр класса Event.

open
Открытие балуна. Экземпляр класса Event. Имена полей, доступных через метод Event.get:
  • balloon - экземпляр класса Balloon.

Методы

Имя Возвращает Описание
calculatePixelPosition([anchorPixels])

Определяет пиксельные координаты для открытия балуна на геообъекте.

close()

Закрывает балун.

isOpen()

Boolean

Проверяет, открыт ли балун в данный момент.

open([anchorPixels])

Balloon

Открывает балун.

Описание полей

events

{event.Manager} events

Менеджер событий балуна геообъекта.

Описание событий

close

Закрытие балуна. Экземпляр класса Event.

open

Открытие балуна. Экземпляр класса Event. Имена полей, доступных через метод Event.get:
  • balloon - экземпляр класса Balloon.

Описание методов

calculatePixelPosition

{} calculatePixelPosition([anchorPixels])

Определяет пиксельные координаты для открытия балуна на геообъекте.

Параметры:

Параметр Значение по умолчанию Описание
anchorPixels

Тип: Number[]

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

Пример:

// Открываем балун с привязкой к центру геообъекта, а не к центру карты.
// Данный метод имеет смысл для линий или для полигонов с вырезами, на которые может приходиться его центр,
// в случае чего нужно найти ближайшую к центру точку на одном из контуров, расположенных поблизости.
var polygonBounds = polygon.geometry.getBounds(),
    polygonCenter = [
        (polygonBounds[0][0] + polygonBounds[1][0]) / 2,
        (polygonBounds[0][1] + polygonBounds[1][1]) / 2
    ],
    polygonPixelCenter = myMap.options.get('projection').toGlobalPixels(polygonCenter, myMap.getZoom()),
    balloonPosition = polygon.balloon.calculatePixelPosition(polygonPixelCenter);

polygon.balloon.open(balloonPosition);

close

{} close()

Закрывает балун.

Параметры:

Параметр Значение по умолчанию Описание
callback *

Тип:

* Обязательный параметр/опция.

isOpen

{Boolean} isOpen()

Проверяет, открыт ли балун в данный момент.

Returns true, если балун открыт, false - иначе.

open

Открывает балун.

Returns экземпляр балуна.

Параметры:

Параметр Значение по умолчанию Описание
anchorPixels

Тип: Number[]

Точка привязки балуна в глобальных пиксельных координатах. По умолчанию используются текущие координаты центра карты.

Пример:

// Отключает открытие хинта при наведении мыши и открывает вместо него балун.
myMap.geoObjects.options.set({
    showHintOnHover: false
});

myMap.geoObjects.events.add('mouseenter', function (e) {
    var geoObject = e.get('target'),
        position = e.get('globalPixelPosition'),
        balloon = geoObject.balloon.open(position);

    balloon.events.add('mouseleave', function () {
        balloon.close();
    });
});