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

Tim*_*ell 2 javascript google-maps-api-3

使用谷歌地图API(v3)我可以使用自定义图标成功地向地图添加标记数组.

每个标记代表一个目的地,我想在相应的目的地名称被鼠标移到页面上的其他位置时更改图标图像.

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

我已经读过,我可以在定义标记时添加"id",但是我无法弄清楚如何使用它与marker.seticon结合来更新该特定标记.

谢谢你的帮助.

erj*_*ang 8

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

例如,

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

并在您的目的地链接其他地方:

onclick = function() {
    myMarkers[destinationID].setIcon(otherIcon)
}
Run Code Online (Sandbox Code Playgroud)