Google Maps Api V3 - 更改MarkerImage的URL时会出现明显的闪烁

low*_*ien 0 google-maps-api-3 google-maps-markers

我想在mouseover事件上更改标记图像.现在,重要的一点看起来像这样:

google.maps.event.addListener(marker, "mouseover", function (event) 
{
    this.set('icon', 'http://google.com/mapfiles/ms/micons/yellow-dot.png');
});

google.maps.event.addListener(marker, "mouseout", function (event) 
{
    this.set('icon', 'http://google.com/mapfiles/ms/micons/red-dot.png');
});
Run Code Online (Sandbox Code Playgroud)

我第一次抓鼠时有一个闪烁,我认为这是因为地图正在从URL加载新图像.

有没有办法预加载黄色和红色桨标记并将它们存储在缓存中?

Stu*_*ack 6

我不确定此解决方案是否能解决您的具体问题,但请尝试禁用标记的"优化"属性:

var marker = new google.maps.Marker({
   position: new google.maps.LatLng(lat, long), 
   icon: markerIcon, 
   optimized: false
});
Run Code Online (Sandbox Code Playgroud)

这在IE中解决了我的问题,其中将标记悬停在某些缩放级别会产生闪烁效果.