0
我試圖遍歷標記集合並使用計數器變量來連接事件。 "When someone clicks a marker, show the infobox in position 'count'"
使用遞增變量訪問數組中的變量
問題在於腳本執行時,計數變量在每個單擊事件訂閱者中共享。
意思是,標記A或B中的點擊連接到相同的位置,這意味着相同的InfoBox。
var popups = [];
var count = 0;
@foreach (var marker in Model) {
<text>
/* Create Markers */
popups[count] = {};
popups[count]["marker"] = new google.maps.Marker({
map: themap
});
popups[count]["content"] = document.createElement("div");</div>';
popups[count]["infoboxoptions"] = {
boxClass: 'infobox-custom'
};
popups[count]["infobox"]= new InfoBox(popups[count]["infoboxoptions"]);
google.maps.event.addListener(popups[count]["marker"], "click", function (e) {
popups[count]["infobox"].open(themap, this);
/* PROBLEM IS HERE!^*/
});
count++;
</text>
}
我明白這個問題,但不知道如何處理它。 Javascript爲每個點擊事件使用相同的變量,並且在每次迭代之後遞增它也會爲每個點擊事件增加它。
有什麼建議嗎?