Javascript 谷歌地图-来自数据库的标记,仅显示最后一行的信息

Javascript 谷歌地图-来自数据库的标记,仅显示最后一行的信息,javascript,php,google-maps-api-3,Javascript,Php,Google Maps Api 3,我用Google maps v3设置了一个地图,标记保存到数据库中。一个新的markers info窗口包含一个将数据保存到PHP数据库的表单。加载地图时,将显示标记,单击标记时可以看到相应的信息。这里的问题是,所有标记都显示插入最后一行时保存的信息 这将从数据库加载数据: // Get markers from XML - (event_data.php) $.get("event_data.php", function (data) { $(data)

我用Google maps v3设置了一个地图,标记保存到数据库中。一个新的markers info窗口包含一个将数据保存到PHP数据库的表单。加载地图时,将显示标记,单击标记时可以看到相应的信息。这里的问题是,所有标记都显示插入最后一行时保存的信息

这将从数据库加载数据:

// Get markers from XML - (event_data.php)
        $.get("event_data.php", function (data) {
            $(data).find("markers").each(function () {
                  var name = $(this).attr('name');
                  var description = '<p>'+ $(this).attr('description') +'</p>';
                  var category = $(this).attr('category');
                  var edate = $(this).attr('edate');
                  var point = new google.maps.LatLng(parseFloat($(this).attr('lat')),parseFloat($(this).attr('lon')));
                  create_marker(point, name, description, category, edate, false, false, false, "static/assets/new_event_marker.png");
            });
        });

您只有一个信息窗口,当您打开它时,它会显示您最后提供给它的内容

将您的单击侦听器更改为:

google.maps.event.addListener(marker, 'click', function() {
  infowindow.open(map,marker); 
});
要(在打开新内容之前设置它):

代码段:

var地理编码器;
var映射;
var infowindow=new google.maps.infowindow();
函数初始化(){
map=新建google.maps.map(
document.getElementById(“地图画布”){
中心:新google.maps.LatLng(37.4419,-122.1419),
缩放:12,
mapTypeId:google.maps.mapTypeId.ROADMAP
});
创建_标记(map.getCenter(),“num1”,“descript1”,“cat1”,“1/1/2011”,false,true,true,”;
创建_标记(新的google.maps.LatLng(37.4,-122.2),“num2”,“descript2”,“cat2”,“1/2/2011”,假,真,真,”;
}
google.maps.event.addDomListener(窗口“加载”,初始化);
函数create_marker(MapPos、eName、eDesc、eCateg、eDate、InfoOpenDefault、DragAble、Removable、iconPath){
var marker=new google.maps.marker({
位置:MapPos,,
地图:地图,
可拖动的,可拖动的,
标题:珐琅
});
//要在事件信息窗口中显示的内容
var eventContent=$(''+''+eName+'
'+ '日期:'+ “

”+eDate+”

”+ “

”+eDesc+”

”+ “删除事件”+ ''); google.maps.event.addListener(标记,'click',函数(){ //设置infoWindow的内容 infowindow.setContent(eventContent[0]); 信息窗口。打开(地图、标记); }); }
html,主体,#映射#画布{
身高:100%;
宽度:100%;
边际:0px;
填充:0px
}


如何打开信息窗口?google.maps.event.addListener(marker,'click',function(){infowindow.open(map,marker);如果我的答案对您不起作用,请提供一个示例来说明问题。
undefined
event1
event2
event3
google.maps.event.addListener(marker, 'click', function() {
  infowindow.open(map,marker); 
});
google.maps.event.addListener(marker, 'click', function() {
  //set the content of infoWindow
  infowindow.setContent(eventContent[0]);
  infowindow.open(map,marker); 
});