2011-09-03 87 views
5

我在這裏使用Google地圖API在我的網站上顯示Google地圖。在這裏,我可以通過以下代碼靜態添加Google地圖:如何動態添加谷歌地圖infowindow?

 var map = new GMap2(document.getElementById('map')); 
     map.addControl(new GSmallMapControl()); 
     map.setCenter(new GLatLng(21.183008, 81.36186199999997), 6); 



     var marker = new GMarker(new GLatLng(21.183008, 81.36186199999997), {}); 
     GEvent.addListener(marker, "mouseover", function() { 
      marker.openInfoWindow("Hi "); 
     }); 
     GEvent.addListener(marker, "mouseout", function() { 
      map.closeInfoWindow(); 
     }); 
     map.addOverlay(marker);   


     var marker1 = new GMarker(new GLatLng(21.25, 81.62), {}); 
     GEvent.addListener(marker1, "mouseover", function() { 
      marker1.openInfoWindow("HI All"); 
     }); 
     GEvent.addListener(marker1, "mouseout", function() { 
      map.closeInfoWindow(); 
     });   
     map.addOverlay(marker1); 

我在數組中設置了標記值。當我嘗試它僅動態創建顯示的最後一個信息窗口時。

等待響應爲....

+0

這聽起來像一個封閉的問題,但如果是你的陣列(和預期'for' -循環)? – Halcyon

+0

此代碼是來自谷歌地圖API的以前的版本。 v3已經有相當長一段時間了:http://code.google.com/apis/maps/documentation/javascript/basics.html該頁面上有很棒的示例。 – tugberk

+0

你能設置一個jsfiddle嗎..我確定我需要使用哪些google map api – Baz1nga

回答

0

這與在Javascript閉包做,這是一個常見的問題。有關解決方案,請參閱Google Maps Javascript API Docs

以及有關關閉更多信息,我建議你#2搜索(如評論here,例如);)