2011-04-15 58 views
4

我在網站上獲得了地圖。我嘗試通過點擊地圖邊上的鏈接(地圖外)來點擊標記。谷歌地圖google.maps.event.trigger無法在V3上工作

下面的代碼:

<a id="ctl00_ctl00_cphMain_main_rptTouristique_ctl00_lnk" onclick="javascript:google.maps.event.trigger(markerArray[0],'click') ">Le Vieux Montréal</a> 

注:markerArray是地圖上的所有標記的數組。

注:我用API的版本3(目前1)

+0

我發現谷歌地圖API組非常出色,我會在那裏發帖:http://groups.google.com/group/Google-Maps-API?pli = 1 – 2011-04-15 12:48:06

+0

不幸的是,這個小組討論的是V2已棄用的api。 (http://code.google.com/apis/maps/documentation/javascript/v2/reference.html) – Muffun 2011-04-15 13:13:55

+0

這是什麼實際工作:我不是創建一個標記和infoWindow數組,而是自己創建每個對象(作爲var marker0 =新的google.maps.Marker();)。在我調用的函數中,我使用了自我對象和信息窗口pop:D。 – Muffun 2011-04-15 15:20:04

回答

1

我相信像你這樣在外部觸發點擊事件,這意味着你的觸發功能,這樣你就可以調用同一個函數來顯示標記被觸發。 例如,

function callAfterMarker(){ 
    alert("Market Clicked"); 
} 

google.maps.event.addListener(marker, 'click', function() { 
    callAfterMarker(); 
}); 

<a href="javascript:callAfterMarker();">Address Name</a>"; 

另外,你有你的標誌器陣列,所以你可以決定從哪個標記您的功能或位置需要計算和執行。 (即)如果您想將任何標記相關信息傳遞給該函數。

希望這會有所幫助!

+1

這幾乎工作!但是當調用infoWindowArray [0] .open時,我得到「b.get不是函數」錯誤。 **心中的悲傷** – Muffun 2011-04-15 14:54:40

1

我不知道,如果你是工作,但我相信你需要設置您的點擊功能。

google.maps.event.addListener(marker, 'click', function() { 
    map.setCenter(marker.position); 
}); 

<a href="javascript:google.maps.event.trigger(markerArray[0],'click')">Address Name</a>"; 
+0

這是我必須做的,使標記正常工作。但我的問題是,我需要一個外部地圖鏈接來做點擊標記。 – Muffun 2011-04-15 13:33:48

+1

我所擁有的「 Sky 2011-04-15 14:59:05