如何动态更改谷歌地图标记后添加

问题描述:

使用谷歌地图API(V3)我可以使用自定义图标成功添加标记数组到地图。如何动态更改谷歌地图标记后添加

每个标记代表一个目的地,我想在各个目标名称在页面上的其他位置上鼠标移动时更改图标图像。

我可以添加事件监听器来拾取鼠标,我知道我可以使用marker.setIcon(“imgurl”)来更改图标,但是我无法弄清楚是如何引用特定的标记被改变?

我读过,我可以在定义标记时添加“id”,但我无法弄清楚如何使用这个与marker.seticon结合来更新该特定标记。

感谢您的帮助。

如果您有每个目的地的ID号,请保留由您的目的地索引的标记数组。

例如,

var myMarkers = [] 
for(var i = 0; i < destinations.length; i++) { 
    myMarkers[destination[i].id] = new google.maps.Marker(markerOpts) 
} 

,并在您的目的地链接别处:

onclick = function() { 
    myMarkers[destinationID].setIcon(otherIcon) 
} 
+0

WOW,感谢您的快速反应。这些目的地并没有像这样存储在一个数组中,但是你的代码对我来说足以存储处理程序以便稍后引用更改。谢谢! – 2012-01-14 21:25:42

我通常会创建一个名为markersArray的数组。然后我使用for循环为每个标记marker_1,marker_2等命名。每创建一个之后,我将它推送到markersArray。现在你可以使用markersArray [i]来引用每个标记。