Подтвердить что ты не робот

Изменить значок маркера на мыши (google maps V3)

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);
    });

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

4b9b3361

Ответ 1

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

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, которые очень полезны, особенно если вы хотите использовать спрайты изображений.

Ответ 2

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();
});