Задать z-index для маркера карт Google

Рейтинг: 0Ответов: 1Опубликовано: 18.01.2011

Доделываю большой модуль. Столкнулся с такой бедой. На карте несколько маркеров, они выводятся динамически, в зависимости от области видимости. Хотелось бы при наведении курсора на маркер, устанавливать ему максимальный z-index. Т.е. выводить маркер на передний план. Событие наведения мышки отловить легко, а вот как установить z-index, пока загадка :( Кто-то сталкивался с подобной задачей? Можно ли её решить без привлечения сторонних библиотек, типа prototype?

Ответы

▲ 2

Ну если Вы говорите, что событие отловить легко, тогда:

// Заводим переменную, в которой будем хранить индекс
var lastIndex;

// obj - объект маркера, отлавливаем наведение
obj.onmouseover = function(event) {
    var s = event ? event.target : window.event.srcElement;
    // получили в s объект на который было наведение
    lastIndex = s.style.zIndex;
    // запомнили его индекс
    s.style.zIndex = 100000;
    // поставили новый
}

// а тут при отведении мыши возвращаем индекс на место
obj.onmouseout = function(event) {
    var s = event ? event.target : window.event.srcElement;
    if (lastIndex) s.style.zIndex = lastIndex;
}