Всплывающая подсказка
Всплывающая подсказка (объект 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тили, шаблоны и макеты.