当用户将鼠标悬停在地址上时,我试图在标记上调用mouseover事件,但这似乎不起作用。打开此页
输入地铁并点击进入。这是地址
中的链接 <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();
}
答案 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();