javascript-Funktion ist die Rückgabe undefiniert

Ich versuche, die Implementierung von google maps und das problem, das ich habe ist, dass wenn ich die Funktion aufrufen getLatLng, es ist wieder eine Undefinierte Wert und ich kann nicht herausfinden, warum.

    initialize();

    var map;
    var geocoder;   

    function initialize() {

        geocoder = new google.maps.Geocoder();
        var address = "Rochester, MN";
        var myLatLng = getLatLng(address);
        console.log("myLatLng = "+myLatLng);

    }

    function getLatLng(address) {

        var codedAddress;

        geocoder.geocode({'address': address}, function(results, status) {

            if(status == google.maps.GeocoderStatus.OK) {
                codedAddress = results[0].geometry.location;
                console.log("codedAddress 1 = "+codedAddress);
            } else {
                alert("There was a problem with the map");
            }
            console.log("codedAddress 2 = "+codedAddress);
        });

        console.log("codedAddress 3 = "+codedAddress);
        return codedAddress;
    }

In der firebug-Konsole, hier ist die Ausgabe, die ich in dieser genauen Reihenfolge:

codedAddress 3 = undefined
myLatLng = undefined
codedAddress 1 = (44.0216306, -92.46989919999999)
codedAddress 2 = (44.0216306, -92.46989919999999)

Warum ist codedAddress 3 und myLatLng zeigt sich zunächst in der Konsole?

InformationsquelleAutor Catfish | 2011-05-25
Schreibe einen Kommentar