这是google-maps标记中的一个非常常见的问题,很容易犯:)。
发生的事情是您的click事件被异步调用,并且它正在getJSON回调(列表中的最后一个)中的marker变量中获取当前值。
您需要将addListener调用包装在一个函数中,以便围绕单击回调中使用的标记变量创建一个闭包:
function listenMarker (marker){ // so marker is associated with the closure created for the listenMarker function call google.maps.event.addListener(marker, 'click', function() { tooltip.open(map, marker); });}然后从主getJSON回调(当前正在调用addListener)中调用listenMarker。



