2013-08-01 220 views
4

我想添加動態標記到我的地圖,其中每個位於經度[我]和緯度[我],我想要一個彈出窗口打開時,用戶點擊標記,在窗口的網址& id = id [i]。谷歌地圖動態添加標記

我嘗試使用以下內容:

<script type="text/javascript"> 
function initialize() { 
var mapOptions = { 
zoom: 5, 
center: new google.maps.LatLng(48, 2), 
mapTypeId: google.maps.MapTypeId.ROADMAP 
}; 

var map = new google.maps.Map(document.getElementById('map-canvas'), 
    mapOptions); 

for (var i = 0; i < id.length; i++) { 
var position = new google.maps.LatLng(latitude[i],longitude[i]); 
marker[i] = new google.maps.Marker({ 
    position: position, 
    map: map 
}); 

marker[i].setTitle("pv"); 
google.maps.event.addListener(marker[i], 'click', function() { 
window.open('blah.php?id='+id[i],'name','height=1000,width=1000') 
}); 

} 
} 

google.maps.event.addDomListener(window, 'load', initialize); 
    </script> 

它似乎並沒有工作,因爲上的標記,當點擊,功能的addListener將被調用,此刻我= id.length

我想要的是標記[0]與ID [0],ID打開的窗口[1]標記[1]等..

回答

3

你能嘗試更換此 -

google.maps.event.addListener(marker[i], 'click', function() { 
    window.open('blah.php?id='+id[i],'name','height=1000,width=1000') 
}); 

本 -

(function (i) { 
    google.maps.event.addListener(marker[i], 'click', function() { 
     window.open('blah.php?id='+id[i],'name','height=1000,width=1000') 
    }); 
})(i); 

結束語在封閉的聽衆將在該時間點與國家執行它。 看看更多的細節 - adding 'click' event listeners in loop

+0

我試過了,現在整個地圖都不加載 – maggie

+0

哦,不,它是完美的!你最後忘了一個支架。 Thx – maggie

+0

不客氣。編輯答案。 – kinshukkar

相關問題