我有一個頁面,它可以檢索一組位置和一些關於其關聯標記的數據,並將它們放在Google Maps地圖上。點擊時,每個人都應該彈出自己的小信息。但是,單擊其中的任何一項都會使最近添加的消息在最近添加的標記上彈出。是什麼賦予了?我沒有正確編寫點擊事件腳本嗎?這裏是相關的代碼:Google Maps API,所有標記打開相同的infowindow
var xmlDoc;
if (window.XMLHttpRequest)
{
xmlDoc=new window.XMLHttpRequest();
xmlDoc.open("GET","locs.php",false);
xmlDoc.send("");
xmlDoc=xmlDoc.responseXML;
}
// IE 5 and IE 6
else if (ActiveXObject("Microsoft.XMLDOM"))
{
xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async=false;
xmlDoc.load("locs.php");
}
var pins = xmlDoc.getElementsByTagName("pin");
//alert(pins);
for (i=0;i<pins.length;i++)
{
//alert(pins[i].getElementsByTagName("lat")[0].childNodes[0].nodeValue);
var point = new GLatLng(pins[i].getElementsByTagName("lat")[0].childNodes[0].nodeValue,
pins[i].getElementsByTagName("lon")[0].childNodes[0].nodeValue);
var colord;
var curgender = pins[i].getElementsByTagName("gender")[0].childNodes[0].nodeValue;
if(curgender == "Male")
{colord = blueOpt;}else if(curgender=="Female"){colord = pinkOpt;}else{colord = purpleOpt;}
var marker = new GMarker(point, colord);
var mess = pins[i].getElementsByTagName("message")[0].childNodes[0].nodeValue;
GEvent.addListener(marker, "click", function() {
marker.openInfoWindowHtml(mess);
});
map.addOverlay(marker);
}
}
謝謝你,謝謝你,謝謝你。這正是我所需要的,但無法找到的。 – Jake 2009-07-03 18:54:03