Ho il seguente geocodifica asincrono metodo soffietto, funziona come ci si aspetta di prendere in un indirizzo da un array oggetto personalizzato che ho, il mio problema è la mappatura del risultato ritorno all'oggetto [i] che ha attivato tale metodo, vedere i risultati solo restituirmi un indirizzo formattato che differisce da quella che ho inputed, Google aggiunge alcune prefissi, cambia St per strada, ecc così quando ottengo questi risultati indietro non ho modo che corrisponda alla nuova Lat e coordina Lng ho ottenuto ad ogni oggetto a causa della natura asincrona di questo metodo ed i risultati non restituiscono in ordine, Qualsiasi idea di quello che avrei potuto fare qui?
Grazie.
Edit: il mio pensiero sarebbe la creazione di un modo per ottenere i risultati in ordine, cambiare questo a sincrono, non è l'ideale lo so e non riesco a trovare alcun esempio.
Funzione 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{
}
});
}
}
}













