Ich muss einige Google Maps-Koordinaten in einem Array speichern, ich erhalte die Koordinaten durch den Geocoder, so gebe ich den Namen der Stadt oder die Adresse und es gibt mich zurück die Koordinaten.Speichern von Antworten einer asynchronen Methode in der gleichen Reihenfolge, in der sie gefragt werden
Ich fand, dass Geocoder eine asynchrone Funktion sein muss, weil mir die Antworten nicht in der gleichen Reihenfolge geben, die ich sie frage. Also werden die Koordinaten in einer anderen Reihenfolge gespeichert, die ich brauche.
Zum Beispiel wenn ich nach Barcelona -> Paris -> Barcelona frage ist die Antwort immer die Koordinaten von Barcelona -> Barcelona -> Paris oder Paris -> Barcelona -> Barcelona. oder wenn ich frage paris -> rom -> oslo antwortet es in einer anderen reihenfolge.
var address = ['Barcelona', 'Viena','Oslo'];
for (var i = 0; i < address.length; i++) {
geocoder.geocode({
'address': address[i]
}, function (results, status) {
if (status === google.maps.GeocoderStatus.OK) {
lineCoordinates.push(results[0].geometry.location);
cities.push(results[0].address_components[0].long_name);
console.log("he terminado para:" + results[0].address_components[0].long_name);
}
});
}
wie kann ich die Antworten in der richtigen Reihenfolge zu speichern, zu tun?
danke