我是一个写网页的初学者,想用 infowindows 在谷歌地图中显示一些标记。但是,我发现信息窗口总是显示最后记录的信息。参考stackoverflow上一篇文章,我发现这个问题很可能是由javascript中常见的闭包问题引起的,但我很难理解如何在我的编码中解决这个问题。任何人都可以帮忙吗?
此外,我想问一个简单的 html 问题。如果 PDF 名称是编码中所示的变量,如何创建 href。非常感谢!!!
var ShowAll=function() {
var URL2="Show_all_trig.php";
$.ajax({
url: URL2,
type: "POST",
dataType: "json",
success: function(data){
$.each(data, function(i, item) {
station_num = item.station_num;
trig_name = item.trig_name;
loc_x = item.loc_x;
loc_y = item.loc_y;
loc = new google.maps.LatLng(loc_x, loc_y);
var trigicon = 'images/Start2.png';
marker = new google.maps.Marker({
map: map,
position: loc,
icon: trigicon,
title: trig_name
})
markersArray.push(marker)
html = "<b>Trig. Station Name: </b>" + trig_name + "<br/> <b>Station Number: </b>" + station_num + "<br/> <b>Sketch: </b>" +"<a target='_blank' href= 'summarysheet/'+ 'station_num +'.pdf'>station_num</a>";
google.maps.event.addListener(marker, 'click', function() {
//alert (html);
infoWindow.setContent(html);
infoWindow.open(map, marker);
});
});
},
error:function(xhr, ajaxOptions, thrownError){
alert(xhr.status);
alert(thrownError);
}
});
}