Клуб API Карт

Как задать задержку при появлении и исчезании всплывающей подсказки для метки?

Predvoditelev
30 декабря 2010, 10:41

Собственно сабж :)

Необходимо чтобы подсказка исчезала/появлялась без задержек.

7 комментариев
Подписаться на комментарии к посту
В методах hide и show можно указать нулевой таймаут.
Но для этого нужно вручную показывать/скрывать подсказку :(
А хотелось бы передать просто опцию при инициализации метки.
 Можно через hintOptions

            var placemark = new YMaps.Placemark(new YMaps.GeoPoint(37.64, 55.76), {
                hasHint: true,
                hintOptions: {
                    showTimeout: 1000,
                    hideTimeout: 10000
                }
            });

Ну либо, создать свой iHintLayout
и там можно сделать всё как хочется
showTimeout работает, а вот hideTimeout не работает. Какое бы значение не задавалось - поведение подсказки не меняется.
 



showTimeout работает, а вот hideTimeout не работает. Какое бы значение не задавалось - поведение подсказки не меняется.



Да, неконсистентно получилось.
Думаю, мы это исправим в ближайшей версии.
Отлично) Будем ждать :)
Сейчас реализовал вот так:

 



// Создаём метку
var m = new YMaps.Placemark(new YMaps.GeoPoint(objects_all[i]['x'], objects_all[i]['y']), {
    hasBalloon: false,
    hasHint: true,
    hintOptions: {
        maxWidth: 200,
        holdOnMouseOver: false,
        offset: new YMaps.Point(5, 5),
        showTimeout: 0
    },
    style: s
});

// Когда курсор убран скрываем метку
YMaps.Events.observe(m, m.Events.MouseLeave, function (obj) {
    if (map.hint.isShown()) map.hint.hide(0);
});