我的JS中有一个小问题,
当我徘徊所有不同的标记时,他们不会显示我认为我理解为什么但我不知道如何解决它
所以有我的代码:
for (var i = 0; i < latLng.length; i++) {
var mark = new google.maps.Marker({
map: map,
animation: google.maps.Animation.DROP,
position: latLng[i]
});
var info = new google.maps.InfoWindow({
content: contentString[i]
});
mark.addListener('mouseover', function() {
info.open(map, mark);
setTimeout(function() {infowindow.close()}, 5000);
})
mark.addListener('click', function() {
map.setZoom(15);
map.setCenter(myLatLng);
});
}
latLng
是一个包含{lat: alatitude, long: alongitude}
等项目的数组
和contentString是一个数组,其项目如&#34; hello&#34;
它向我显示所有标记,但它仅在我的最后一个标记上显示infoWindows
我认为这是因为我的战争被下一代战队抹去了 我曾试图使用类似的阵列,但它不起作用。
for (var i = 0; i < latLng.length; i++) {
var marks = new Array();
var infos = new Array();
marks.push(new google.maps.Marker({
map: map,
animation: google.maps.Animation.DROP,
position: latLng[i]
}));
infos.push(new google.maps.InfoWindow({
content: contentString[i]
}));
marks[i].addListener('mouseover', function() {
infos[i].open(map, marks[i]);
setTimeout(function() {infowindow.close()}, 5000);
})
marks[i].addListener('click', function() {
map.setZoom(15);
map.setCenter(myLatLng);
});
}
答案 0 :(得分:0)
我在一个函数中隔离了这个部分并且它可以工作:
var mark = new google.maps.Marker({
map: map,
animation: google.maps.Animation.DROP,
position: latLng[i]
});
var info = new google.maps.InfoWindow({
content: contentString[i]
});
mark.addListener('mouseover', function() {
info.open(map, mark);
setTimeout(function() {infowindow.close()}, 5000);
})
mark.addListener('click', function() {
map.setZoom(15);
map.setCenter(myLatLng);
});