これは、私が実行しようとしているものの簡略化されたバージョンです。
for (var i = 0; i < results.length; i++) {
marker = results[i];
google.maps.event.addListener(marker, 'click', function() {
change_selection(i);
});
}
しかし、すべてのリスナーが results.length の値 (for ループが終了したときの値) を使用していることがわかります。i への参照ではなく、追加時に i の値を使用するようにリスナーを追加するにはどうすればよいですか?