Javascript Google maps API信息窗口仅显示数组中的最后一条语句

Javascript Google maps API信息窗口仅显示数组中的最后一条语句,javascript,arrays,google-maps-api-3,infowindow,Javascript,Arrays,Google Maps Api 3,Infowindow,我有这个密码。添加标记非常有效,但将右信息窗口添加到标记不起作用。。(标题也在标记中) 它只从array infoUser返回所有标记的最后语句 我知道。。我在重复一个问题,但我试着用很多回答的问题来解决它,但它不起作用 function initMap() { var map = new google.maps.Map(document.getElementById('map'), { zoom: 3, center: {lat:

我有这个密码。添加标记非常有效,但将右信息窗口添加到标记不起作用。。(标题也在标记中)

它只从array infoUser返回所有标记的最后语句

我知道。。我在重复一个问题,但我试着用很多回答的问题来解决它,但它不起作用

    function initMap() {
        var map = new google.maps.Map(document.getElementById('map'), {
          zoom: 3,
          center: {lat: 49.7437895, lng: 15.3360726}
        });
//array
        var infoUser = [
            ['Germany','Maj','TUC','20','300'],
            ['Czech Republic','admin','Bla','50','400'],
            ['Italy','HOOOO','BUC','1','50'],
            ['Italy','aaaaa','aaa','10','20'],
            ['Germany','adminek','hopinek','50','1000']
        ]; 

        var infoWindow = new google.maps.InfoWindow();

        var markerCluster = new MarkerClusterer(map, markers,
      {imagePath: 'https://developers.google.com/maps/documentation/javascript/examples/markerclusterer/m'});

        var markers = [];

        for (var x = 0; x < infoUser.length; x++) {

            var adresa = infoUser[x][0],
                name = infoUser[x][1],
                firstname = infoUser[x][2],
                age =  infoUser[x][3],
                price =  infoUser[x][4];    

          $.getJSON('http://maps.googleapis.com/maps/api/geocode/json?address='+adresa, null, function (data) {
              var p = data.results[0].geometry.location;
              var latlng = new google.maps.LatLng(p.lat, p.lng);
              var marker = new google.maps.Marker({
                position: latlng,
                title: adresa,
                map: map
              }); markers.push(marker); markerCluster.addMarker(marker);

              var content = 'Adresa: ' + adresa + 'username: ' + name;

              google.maps.event.addListener(marker,'click', (function(marker, content, infoWindow){ 
                    return function() {
                        infoWindow.setContent(content);
                        infoWindow.open(map,marker);
                    };
                })(marker, content, infoWindow)); 
          });
        }
    }
函数initMap(){
var map=new google.maps.map(document.getElementById('map'){
缩放:3,
中心:{纬度:49.7437895,液化天然气:15.3360726}
});
//排列
var infoUser=[
['Germany'、'Maj'、'TUC'、'20'、'300'],
[‘捷克共和国’、‘行政’、‘Bla’、‘50’、‘400’],
[Italy'、'Hooo'、'BUC'、'1'、'50'],
[“意大利”、“AAAA”、“aaa”、“10”、“20”],
['Germany','adminek','hopinek','50','1000']
]; 
var infoWindow=new google.maps.infoWindow();
var markerCluster=新的MarkerClusterer(地图、标记、,
{imagePath:'https://developers.google.com/maps/documentation/javascript/examples/markerclusterer/m'});
var标记=[];
对于(var x=0;x
您需要关闭geocoder调用(
adresa
name
)之外的数据以及infowindow
内容
/
标记
/
infowindow

代码片段:

函数initMap(){
var map=new google.maps.map(document.getElementById('map'){
缩放:3,
中心:{
拉脱维亚:49.7437895,
液化天然气:15.3360726
}
});
//排列
var infoUser=[
['Germany','Maj','TUC','20','300'],
[‘捷克共和国’、‘管理’、‘Bla’、‘50’、‘400’],
['Italy','HOOOO','BUC','1','50'],
[‘意大利’、‘AAAA’、‘aaa’、‘10’、‘20’],
['Germany','adminek','hopinek','50','1000']
];
var infoWindow=new google.maps.infoWindow();
var markerCluster=新的MarkerClusterer(地图、标记、{
maxZoom:18,
imagePath:'https://developers.google.com/maps/documentation/javascript/examples/markerclusterer/m'
});
var标记=[];
对于(var x=0;x用户名:'+name;
google.maps.event.addListener(标记,'单击',(功能(标记,内容,信息窗口){
返回函数(){
infoWindow.setContent(content);
信息窗口。打开(地图、标记);
};
})(标记、内容、信息窗口);
}
}(阿雷萨,姓名));
}
}
google.maps.event.addDomListener(窗口“加载”,initMap)
html,
身体,
#地图{
身高:100%;
宽度:100%;
边际:0px;
填充:0px
}


可能重复的可能重复的可能重复的可能重复的这是重复到结束。请务必阅读有关闭包的内容。谷歌地图与此无关。只是一些进步JS pitfallsyep绝对是结束。从标题本身你可以看出问题所在