Вот упрощенная версия о чем-то, что я пытаюсь запустить:Как передать значение (а не ссылку) переменной JS в функцию?
for (var i = 0; i < results.length; i++) {
marker = results[i];
google.maps.event.addListener(marker, 'click', function() {
change_selection(i);
});
}
, но я нахожу, что каждый слушатель использует значение results.length (значение, когда цикл завершается). Как добавить слушателей таким образом, чтобы каждый из них использовал значение i в момент его добавления, а не ссылку на i?
Вы хотите добавить 'var' перед' marker', чтобы не загрязнять глобальное пространство имен. – ThiefMaster
@ThiefMaster: как ни странно, я просто подумал о том же, посмотрев на этот ответ впервые. Однако, глядя на код OP, мы не можем быть полностью уверены, что 'marker' еще не является глобальной переменной. –
, используя API карты Google, мы можем с уверенностью утверждать, что область этого маркера находится вне цикла for. Ницца поймал Энди. –