【发布时间】:2016-11-16 10:53:21
【问题描述】:
我有这个代码。添加标记效果很好,但正确的信息窗口标记不..(标记中的标题)
它只返回数组 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));
});
}
}
【问题讨论】:
-
这是重复关闭。请阅读有关关闭的信息。谷歌地图与此无关。只是一些高级 JS 陷阱
标签: javascript arrays google-maps-api-3 infowindow