- 项目需要用到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);
});
};