Изменить значок маркера на мыши (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, я хочу, чтобы значок изменился на другое изображение, которое я получил.
Я попробовал некоторые советы и какой-то код, но ничего не работает...
Цените помощь ур
Ответы
Ответ 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();
});