-1
我已經訪問了很多關於此主題的Stack Overflow答案,但沒有一個答案似乎適用於我。我將偵聽器添加到for循環中的對象,但我所有的偵聽器代碼都只應用於最後一個循環。我讀了關於機箱,這是我想盡了辦法,但我仍然有問題:JavaScript中的外殼和for循環
for (var i = 0; i < beaches.length; i++) {
var beach = beaches[i];
var marker = new google.maps.Marker({
position: {lat: beach[1], lng: beach[2]},
map: map,
icon: image,
shape: shape,
title: beach[0],
zIndex: beach[3]
});
var contentString = contentstrings[i];
function makeItHappenDelegate() {
return function(){
var infowindow = new google.maps.InfoWindow({
content: contentString
});
infowindow.open(map, marker);
}
};
marker.addListener('click',makeItHappenDelegate());
}
這意味着該功能makeItHappenDelegate()被作爲對我的所有標記執行的功能應用。
任何幫助將不勝感激。
我不認爲你正確地複製的解決方案。 – Mathletics