Tengo el siguiente código geográfico asíncrono método de abajo, que funciona como se espera tomar en una dirección de un array de objetos personalizado que tengo, mi problema es el mapeo de los resultados de vuelta a [I] objeto que disparó ese método, ver los resultados sólo me dan la espalda una dirección con el formato que difiere de la que aparece en el formulario, Google añade algunos códigos de área, cambios en el ST a la calle, etc. así que cuando llegue a estos resultados de nuevo no tengo manera para que coincida con el nuevo Lat y Lng coordenadas he llegado a cada objeto debido a la naturaleza asíncrona de este método y los resultados no devuelven el fin, ¿Alguna idea de lo que podía hacer aquí?
Gracias.
Editar: mis pensamientos estarían creando una manera de conseguir los resultados en orden, esto cambie a síncrono, no es ideal que sé y no puedo encontrar ningún ejemplo.
función 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{
}
});
}
}
}













