I have a json object `infoCentros` which I use to construct the map, like this:

```
for ( var i = 0; i < infoCentros.length; i++ ) {
    var centro = infoCentros[i];
    var lat = centro.cordenadas.lat;
    var lon = centro.cordenadas.long;
    if (lat && lon) {
        c++;
        latlon = new google.maps.LatLng(lat, lon);
        var moptions = {
            position: latlon,
            map: $project.gmap
        }
        moptions.icon = theme_uri +  '/images/marker.png';
        var marker = new google.maps.Marker(moptions);
        $project.mapMarkers.push(marker);
        google.maps.event.addListener(marker, 'click', function() {
            $project.mapInfoWindow.setContent(
                '<div class="sescam-info-window">' + 
                    '<h3>' + centro.nombre + '</h3>' +
                    '<p>' + centro.lugar + '</h3>' +
                    '<p>Coordinador</p>' +
                    '<p>' + centro.coordinador.nombre + '</p>' +
                    '<p>' + centro.coordinador.email + '</p>' +
                    '<p>Responsable</p>' +
                    '<p>' + centro.responsable.nombre + '</p>' + 
                    '<p>' + centro.responsable.email + '</p>' 
                + '</div>'

            );
            $project.mapInfoWindow.open($project.gmap, marker);
        });
        $project.mapBounds.extend(latlon);
    }
}

```

It seems to work fine, but if I have 5 markers, It doesn't matter which one I click, the infowindow always corresponds to the last item (position and content),

Any idea what am I missing? I thought that passing `marker` to the addListener would Do the trick..