Javascript Google maps API信息窗口仅显示数组中的最后一条语句
我有这个密码。添加标记非常有效,但将右信息窗口添加到标记不起作用。。(标题也在标记中) 它只从array infoUser返回所有标记的最后语句 我知道。。我在重复一个问题,但我试着用很多回答的问题来解决它,但它不起作用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:
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绝对是结束。从标题本身你可以看出问题所在