lo stack di inizializzazione delle funzioni per il listener che hai postato è un po' complesso da capire, forse è quello che ti frega:
questo
codice:
google.maps.event.addListener(marker, 'click', (function anonimousF(marker, i) {
return function Closure() {
infoWindow.setContent(infoWindowContent[i][0]);
infoWindow.open(map, marker);
}
})(marker, i));
genera:
codice:
// settaggio variabili
var marker = google.maps.Marker;
var i = contatore;
// la self-executing function si carica prima di qualsiasi cosa
anonimousF(marker, i);
// al completamento dell'onload della pagina
// setto l'evento click alla mappa una volta caricato il DOM
google.maps.event.addListener(marker, 'click', function Closure() {
infoWindow.setContent(infoWindowContent[i][0]);
infoWindow.open(map, marker);
} );
//quando l'utente clicca richiama
Closure();
solo per capire i passaggi