geoObject.Balloon
Менеджер балуна геообъекта. Позволяет управлять балуном геообъекта, открывать и скрывать его. Использует внутри себя менеджер балуна карты map.Balloon. Геообъекты содержат экземпляр этого класса, доступный как myGeoObject.balloon. Не создавайте экземпляры этого класса без необходимости.
**См.: **GeoObject.balloon
Конструктор
geoObject.Balloon(geoObject)
Параметры:
Параметр |
Значение по умолчанию |
Описание |
|
— |
Тип: Object Геообъект. |
* Обязательный параметр/опция.
Поля
Имя |
Тип |
Описание |
Менеджер событий балуна геообъекта. |
События
Имя |
Описание |
Закрытие балуна. Экземпляр класса Event. |
|
Открытие балуна. Экземпляр класса Event. Имена полей, доступных через метод Event.get: • balloon - экземпляр класса Balloon. |
Методы
Имя |
Возвращает |
Описание |
Определяет пиксельные координаты для открытия балуна на геообъекте. |
||
close() |
Закрывает балун. |
|
isOpen() |
Boolean |
Проверяет, открыт ли балун в данный момент. |
open([anchorPixels]) |
Открывает балун. |
Описание полей
events
{event.Manager} events
Менеджер событий балуна геообъекта.
Описание событий
close
Закрытие балуна. Экземпляр класса Event.
open
Открытие балуна. Экземпляр класса Event. Имена полей, доступных через метод Event.get:
• balloon - экземпляр класса Balloon.
Описание методов
calculatePixelPosition
{} calculatePixelPosition([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()
Закрывает балун.
Параметры:
Параметр |
Значение по умолчанию |
Описание |
|
— |
Тип: |
* Обязательный параметр/опция.
isOpen
{Boolean} isOpen()
Проверяет, открыт ли балун в данный момент.
Returns true, если балун открыт, false - иначе.
open
{Balloon} open([anchorPixels])
Открывает балун.
Returns экземпляр балуна.
Параметры:
Параметр |
Значение по умолчанию |
Описание |
|
— |
Тип: 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();
});
});
Обязательный параметр/опция.