изменить значок маркера при наведении курсора (карты Google V3) - PullRequest
24 голосов
/ 20 ноября 2011
var image = 'bullets/_st_zzzzzzl SSS.gif';

var bar1 = new google.maps.Marker({
    position: myLatLng, 
    map: map,
    icon: image,
    title: "bar number 1"       
}); 

    google.maps.event.addListener(bar1, 'mouseover', function() {
        infowindow.open(map,bar1);
    });

    google.maps.event.addListener(bar1, 'mouseout', function() {
        infowindow.close(map,bar1);
    });

Теперь, когда я нахожусь при наведении мыши, я хочу, чтобы значок изменился на другое изображение, которое я получил.Я попробовал несколько советов и немного кода, но ничего не работает ... Ценю вашу помощь

Ответы [ 2 ]

58 голосов
/ 20 ноября 2011

Используйте функцию marker.setIcon(). В остальном это почти то же самое, что открывать / закрывать информационное окно в вашем коде:

var icon1 = "imageA.png";
var icon2 = "imageB.png";

var marker = new google.maps.Marker({
    position: myLatLng,
    map: map,
    icon: icon1,
    title: "some marker"
});

google.maps.event.addListener(marker, 'mouseover', function() {
    marker.setIcon(icon2);
});
google.maps.event.addListener(marker, 'mouseout', function() {
    marker.setIcon(icon1);
});

Обратите внимание, что помимо использования путей к изображениям в функции setIcon(), вы также можете использовать google.maps.MarkerImage объекты, которые очень полезны, особенно если вы хотите использовать спрайты изображений.

0 голосов
/ 07 апреля 2014
google.maps.event.addListener(marker, 'mouseover', function() {
    infowindow.open(map, this);
});

// assuming you also want to hide the infowindow when user mouses-out
google.maps.event.addListener(marker, 'mouseout', function() {
    infowindow.close();
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...