2011-11-20 156 views
22
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); 
    }); 

现在,当我在鼠标悬停我想图标更改为另一个图像我得到。 我试了一些提示和一些代码,但没有什么作品... 欣赏你的帮助鼠标悬停更改标记图标(谷歌地图V3)

回答

53

使用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

这对我很好! – Avishai

+0

您能否为精灵提供解决方案?我尝试使用'setIcon()'来更改mouseover上的图标原点,这不起作用 – sgromskiy

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