Marcadores dinámicos - API de Google Maps - Los marcadores no aumentan con el valor i en bucle

He creado la api de mapas a continuación y tengo un conjunto de direcciones que provienen de una base de datos. El mapa se carga correctamente, sin embargo tengo el siguiente problema.

Los marcadores dinámicos no aumentan con el valor de "i" ... por lo que el mapa muestra todos los marcadores con "1" y no "1,2,3,4,5"

<code>// Define Vars
var pinColor = "FE7569";
var marker, i;

// Set default map center location
var latlng = new google.maps.LatLng(-27.79014,153.18049);

// Create pinShadow for each marker 
var pinShadow = new google.maps.MarkerImage("http://chart.apis.google.com        /chart?chst=d_map_pin_shadow",
    new google.maps.Size(40, 37),
    new google.maps.Point(0, 0),
    new google.maps.Point(12, 35));

// Function to create the dynamic marker
function pinImage(i){
    return image = new google.maps.MarkerImage("http://www.googlemapsmarkers.com/v1/"+i+"/"+pinColor+"/", new google.maps.Size(21, 34), new google.maps.Point(0,0), new google.maps.Point(10, 34));
}

// Function to run once page has loaded
    function initialize(){      
// Set Default settigns for google map
var settings = {
    zoom: 10,
    center: latlng,
    mapTypeControl: true,
    mapTypeControlOptions: {style: google.maps.MapTypeControlStyle.DROPDOWN_MENU},
    navigationControl: true,
    navigationControlOptions: {style: google.maps.NavigationControlStyle.SMALL},
    mapTypeId: google.maps.MapTypeId.ROADMAP};

// Start Google Maps and assign it to div on site
var map = new google.maps.Map(document.getElementById("map_canvas"), settings);     

// loop though total numner of address in array
for (i = 1; i < total; i++) {  
    // Use geocoder to grab latlong for user inputed address
    geocoder.geocode( { 'address': address[i]}, function(results, status) {
        if (status == google.maps.GeocoderStatus.OK) {
            // Redefine map center location
            if (i = 1){ map.setCenter(results[0].geometry.location); }

            // Create dynamic markers on map as per the address array
            var marker = new google.maps.Marker({
                map: map, 
                position: results[0].geometry.location,
                title:address[i],
                zIndex: i,
                // PROBLEM CODE --- Using the function below it creates all Markers with a "1" instead of the "i" value..??  
                icon: pinImage(i),
                shadow: pinShadow
            });         
        }
    });
    }
}
</code>

Respuestas a la pregunta(1)

Su respuesta a la pregunta