GMaps JS Geocode: Verwenden / Übergeben von Variablen mit asynchroner Geocode-Funktion?

Ich habe eine Array-Liste mit Standortobjekten, und ich verwende einige davon, um eine vollständige Adresse zu erstellen und diese dann zu geocodieren. Sobald ich den OK-Status erhalte, platziere ich einen Marker auf der Karte. Das alles funktioniert gut. Jetzt möchte ich jedoch auch ein Infofenster auf jedem Marker mit einer anderen Eigenschaft aus meiner Array-Liste, LocationName, platzieren. Code ist hier:

<code>function placeMarkers(myObjList){
var geocoder = new google.maps.Geocoder();
for(var i=0; i<myObjList.length; i++){
    var fullAddress = myObjList[i].Address + ", " + myObjList[i].City + ", " + myObjList[i].State + ", " + myObjList[i].Zip;
    /* The variable I would like to have access to in the geocode call */
    var locationName = myObjList[i].LocationName;

    geocoder.geocode( { 'address': fullAddress}, function(results, status) {
        if (status == google.maps.GeocoderStatus.OK) {
            alert(locationName);
            var marker = new google.maps.Marker({
                map: map,
                position: results[0].geometry.location,
                clickable: true
            });
            markers.push(marker);
        } else {
            alert("Geocode was not successful for the following reason: " + status);
        }
    });
}
}
</code>

Die Warnung ist nur zu sehen, was locationName ist, wenn ich diesen Status OK bekomme. Beim Testen ist es aber immer der gleiche Wert. Sobald ich dies anpassen kann, um jedes Mal den richtigen Wert wiederzugeben, muss ich den Code anordnen, um die Infofenster auf dem Marker zu platzieren.

Jede Hilfe wäre sehr dankbar!

Antworten auf die Frage(1)

Ihre Antwort auf die Frage