Google geocoder.geocode, ασύγχρονη μεταβλητή χαρτογράφηση

ψήφοι
0

Έχω την εξής γεωγραφικής κωδικοποίησης ασύγχρονη μέθοδο παρακάτω, λειτουργεί όπως αναμένεται λαμβάνοντας μια διεύθυνση από μια συστοιχία έθιμο αντικείμενο που έχω, το πρόβλημά μου είναι η χαρτογράφηση του αποτελέσματος πίσω ένστασης [i] που λειτουργούν αυτή τη μέθοδο, δείτε τα αποτελέσματα Δώσε μου μόνο πίσω μια μορφοποιημένη διεύθυνση που διαφέρει από το ένα i περιληφθεί στην αίτησή μου, «Google προσθέτει μερικές κωδικούς περιοχής, αλλάζει St στην οδό κ.λπ.» έτσι ώστε όταν πάρω αυτά τα αποτελέσματα πίσω δεν έχω κανέναν τρόπο να ταιριάζει με το νέο Lat και ΥΦΑ συντονίζει έχω πάρει σε κάθε αντικείμενο, λόγω της ασύγχρονης φύσης αυτής της μεθόδου και τα αποτελέσματα δεν επιστρέφουν στη σειρά, κάθε ιδέα τι θα μπορούσα να κάνω εδώ;

Ευχαριστώ.

Επεξεργασία: Οι σκέψεις μου θα είναι η δημιουργία ένας τρόπος για να πάρει τα αποτελέσματα πίσω, προκειμένου, να αλλάξει αυτό σε σύγχρονη, δεν είναι ιδανική ξέρω και εγώ δεν μπορούμε να βρούμε παραδείγματα.

λειτουργία iterateAndAddress (objArray) {

    for(var i=0; i< objArray.length; i++) {

        var address = objArray[i].BillingStreet +' '+objArray[i].BillingCity+' '+objArray[i].BillingCountry;
        var geocoder = new google.maps.Geocoder();
        console.log('Address = '+address);

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

                if (status == google.maps.GeocoderStatus.OK) {

                    //console.log(results);
                    var lat = results[0].geometry.location.lat();
                    var lon = results[0].geometry.location.lng();  
                    console.log('Address : '+results[0].formatted_address);


                }else if(status == 'OVER_QUERY_LIMIT') {

                }
                else{

                }
            });  
         }  

    }  
}
Δημοσιεύθηκε 06/03/2013 στις 12:27
πηγή χρήστη
Σε άλλες γλώσσες...                            


1 απαντήσεις

ψήφοι
0

Ρίξτε μια ταυτότητα στο μίγμα. Καθώς και την επιστροφή των δεδομένων, να επιστρέψει το id καθώς και εξαρτήσεως ασφαλείας των πληροφοριών που έχουν τελειώσει.

... επεξεργασία

Εντάξει, έτσι ώστε να κάνουν τα αιτήματα από μια σειρά αντικειμένου. Μήπως αυτό σειρά έχουν τα κλειδιά id? Αν ναι, τότε καθώς και την επιστροφή lat και καιρό να επιστρέψει το id.

var id = objArray[i].id
var lat = results[0].geometry.location.lat();
var lon = results[0].geometry.location.lng();

Ή ό, τι τα κλειδιά id που χρησιμοποιείτε.

Θα μπορούσε να είναι καλύτερα να επιστρέψει έναν πίνακα (ή αντικείμενο όπως)

result[i].lat = results[0].geometry.location.lat();
result[i].lon = results[0].geometry.location.lng();

Εφ 'όσον ξέρετε τα αρχεία τα i δεσμούς με τότε έχετε το σημείο σύγκρισης σας.

Οφείλω να ομολογήσω, θα πρέπει να λείπει το asynchronoucity (λέξη;) της τρέχουσας μεθόδου σας.

Απαντήθηκε 06/03/2013 στις 12:38
πηγή χρήστη

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more