- 項目需要用到GoogleMap,循環從資料庫中取坐标,然後點選坐标,根據坐标的ID以Ajax請求的方式擷取坐标對應的詳細資訊,很容易得到如下代碼:
success:function(data){
for(var i = 0;i < data.length;i++){
//alert(data[i].ENT_ID +"-"+data[i].LATITUDE+"-"+data[i].LONGITUDE+"-"+data[i].ENT_TYPE);
// 坐标
lat = data[i].LATITUDE;
lng = data[i].LONGITUDE;
var myLatLng = new google.maps.LatLng(lat, lng);
// 加載坐标
var marker = new google.maps.Marker({
position: myLatLng,
map: map,
ent_id: data[i].ENT_ID,
ent_type: data[i].ENT_TYPE
});
// 綁定坐标事件
google.maps.event.addListener(marker, 'click', function () {
alert(marker.ent_id+","+marker.ent_type);
});
}
}
- 嗯,噩夢開始了,點選地圖上的坐标,發現所有的alert都顯示的是最後一個marker的值,調了一上午,放棄,剛剛調通了,解決方法如下:
/**
* 綁定坐标事件
* marker 坐标對象
*/
function bindingClick(marker) {
google.maps.event.addListener(marker, 'click', function (event) {
viewItem(marker);
});
};
- 對,沒看錯,把綁定坐标事件的方法單提出來就ok了
- 原文位址:http://blog.csdn.net/yueritian/article/details/50180041