Всплывающая подсказка

Всплывающая подсказка (объект YMaps.Map.hint), как и балун, существует в единственном экземпляре и создается вместе с картой.

Показ всплывающей подсказки

Чтобы показать на карте подсказку используйте метод show(), а чтобы скрыть - метод hide().

Например, следующий код размещает всплывающую подсказку с надписью "Москва" над центром Москвы:

map.hint.show(map.converter.coordinatesToLocalPixels(map.getCenter()), "Москва");

Внимание

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

Открыть пример в новом окне

Для того, чтобы подсказка показывалась при наведении курсора на объект-оверлей (метку, ломаную или многоугольник), установите параметр hasHint соответствующего объекта в значение true.

По умолчанию внутри всплывающей подсказки показывается значение поля name. Например, следующий код размещает метку в центре карты и разрешает показ всплывающей подсказки с надписью "Москва" при наведении курсора на метку:

var placemark = new YMaps.Placemark(map.getCenter(), {hasHint: true});
placemark.name = "Москва";
map.addOverlay(placemark);

Открыть пример в новом окне

Задание стиля подсказки

Класс YMaps.HintContentStyle отвечает за внешний вид содержимого всплывающей подсказки.

В примере ниже показано, как изменить шаблон всплывающей подсказки таким образом, чтобы в ней кроме поля name, отображалось поле description:

var style = new YMaps.Style();
style.hintContentStyle = new YMaps.HintContentStyle(
    new YMaps.Template("<b>$[name]</b><div>$[description]</div>")
);

var placemark = new YMaps.Placemark(map.getCenter(), {hasHint: true, style: style});
placemark.name = "Москва";
placemark.description = "Столица России";
map.addOverlay(placemark);

Открыть пример в новом окне

API предоставляет возможность полностью изменить внешний вид всплывающей подсказки с помощью системы стилей, шаблонов и макетов, см. раздел Cтили, шаблоны и макеты.

Предыдущая