Если вы хотите сослаться на глобальную переменную, используя другую переменную для получения ее имени, вы можете сделать
window['infoWindow'+i]
, что точно так же, как
window.infoWindo1
, когда i = 1
, и все глобальные переменные находятся в объекте window
.Теперь ваши переменные вполне могут быть не глобальными, и, честно говоря, независимо от того, являются ли они , действительно ли они являются, я не думаю, что код был бы очень аккуратным.
Это, безусловно,Желательно, чтобы ваши информационные окна находились в массиве, чтобы вы могли просто ссылаться на них как:
infoWindow[i]
Двигаясь дальше, вы также заметите, что прослушиватель щелчков для всех маркеров будет срабатывать при щелчке, чтопроисходит после цикл полностью выполнен, поэтому значение i
всегда будет 4.
Чтобы обойти это, вы должны создать локальную область видимости для каждого прослушивателя кликов, который выназначаем, что инкапсулирует значение вопроса, как оно есть при назначении события:
google.maps.event.addListener(marker, 'click', (function(infoWin) {
return function() {
// your click listener here
// you can reference the current info window as infoWin
}
})(infoWindow[i]));