geoObject.Hint

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

См.: GeoObject.hint

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

Конструктор

geoObject.Hint(geoObject)

Параметры:

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

Тип: Object

Геообъект.

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

Поля

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

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

События

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

Скрытие хинта. Экземпляр класса Event.

show
Показ хинта над геообъектом. Экземпляр класса Event. Имена полей, доступных через метод Event.get:
  • hint - экземпляр класса Hint.

Методы

Имя Возвращает Описание
hide([callback[, urgently]])

Скрывает хинт.

isShown()

Boolean

Проверяет состояние хинта на карте. Проксирует вызов Hint.isShown().

move(pixelPosition)

Передвигает хинт, если он в данный момент показан.

show(pixelPosition)

Hint

Показывает хинт.

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

events

{event.Manager} events

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

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

hide

Скрытие хинта. Экземпляр класса Event.

show

Показ хинта над геообъектом. Экземпляр класса Event. Имена полей, доступных через метод Event.get:
  • hint - экземпляр класса Hint.

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

hide

{} hide([callback[, urgently]])

Скрывает хинт.

Параметры:

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

Тип: Function

Функция, которая будет вызвана после скрытия хинта.

urgently false

Тип: Boolean

Если true, то хинт будет скрыт моментально, без таймаута.

Пример:

// Моментально (без таймаута) скрываем хинт при клике на нем.
// Примечание: такое поведение также можно реализовать, задав геообъекту опцию hintHideTimeout = false.
myPoint.hint.events.add('mouseleave', function () {
    myPoint.hint.hide(function () {
        alert('Пока, хинт!');
    }, true);
});

isShown

{Boolean} isShown()

Проверяет состояние хинта на карте. Проксирует вызов Hint.isShown().

Returns true, если хинт показывается, false, - если спрятан.

move

{} move(pixelPosition)

Передвигает хинт, если он в данный момент показан.

Параметры:

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

Тип: Number[]

Новая позиция хинта в глобальных пиксельных координатах.

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

Пример:

// Заставляем хинт двигаться при наведении на геообъект плавными круговыми движениями в размеренном темпе.
var interval = null;

point.hint.events
    .add('show', function (e) {
        var angle = 0,
            position = point.options.get('projection').toGlobalPixels(point.geometry.getCoordinates(), myMap.getZoom());

        interval = setInterval(function () {
            point.hint.move([
                position[0] + 50 + Math.cos(angle) * 50,
                position[1] + 50 + Math.sin(angle) * 50
            ]);
            angle += Math.PI / 90;
            if (angle >= 2 * Math.PI) {
                angle = 0;
            }
        }, 50);
    })
    .add('hide', function () {
        if (interval) {
            clearInterval(interval);
        }
    });

show

Показывает хинт.

Returns экземпляр хинта.

Параметры:

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

Тип: Number[]

Позиция хинта в глобальных пиксельных координатах.

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

Пример:

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

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

    geoObject.hint.show(position);
});