通过悬停在地址上触发鼠标悬停在标记上

时间:2012-09-01 08:18:26

标签: google-maps

当用户将鼠标悬停在地址上时,我试图在标记上调用mouseover事件,但这似乎不起作用。打开此页

http://tinyurl.com/bp94qdy

输入地铁并点击进入。这是地址

中的链接
 <a  onmouseover="javascript:google.maps.event.trigger(markersArray['+i+'],onmouseover);"

我也试图在初始化时缩放地图,以便所有标记都适合它,但这给了我一个未定义的GLatLngBounds错误。使用的代码是      function calculateCenter(){

  /* var latlngbounds = new GLatLngBounds();
  for (var i = 0; i < latlng.length; i++)
   {
       latlngbounds.extend(latlng[i]);
    }
    map.setCenter(latlngbounds.getCenter(), map.getBoundsZoomLevel(latlngbounds));*/
    center = map.getCenter();
    }

1 个答案:

答案 0 :(得分:3)

查看google.maps.event.trigger的语法 这不起作用:

<a onmouseover="javascript:google.maps.event.trigger(markersArray['+i+'],onmouseover);" ...

因为事件名称应该是一个字符串,所以:

<a  onmouseover="javascript:google.maps.event.trigger(markersArray['+i+'],'onmouseover');" ...

甚至更好,使用DHTML:

var div = document.createElement('DIV');
div.onmouseover = function(i){
google.maps.event.trigger(markersArray[i],'mouseover');
}
div.innerHTML = contentString;
var listContainer = document.getElementById("listingAddress");
listContainer.appendChild(div);

在事件名称周围加上引号。 还有另一个错误:  var markerBounds = new GLatLngBounds(); 是API V2语法。在V3 API中它是

var markerBounds = new google.maps.LatLngBounds();