2012-09-01 152 views
1

我試圖在用戶懸停在地址上時標記上調用鼠標懸停事件,但這似乎不起作用。打開此頁面通過懸停在地址上觸發鼠標懸停在標記上

http://tinyurl.com/bp94qdy

型地鐵和點擊去。這是地址

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

我也在努力縮小地圖上初始化,使所有標記自己在其中的聯繫,但是這給了我一個未定義的GLatLngBounds錯誤。使用的代碼是 功能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(); 
    } 

回答

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(); 
+0

它實際上在單引號內,因此爲事件添加雙引號或單引號會產生語法錯誤。 listing + =''; –

+0

我的意思是整條線,如果你看看firefox的源代碼,請看第284行 –