Estoy tratando de solventar el problema con las peticiones asíncronas. Para recorrer una matriz de direcciones y obtener otra con las coordenadas de cada dirección. En el ejemplo ¿Cómo obtener la respuesta de una llamada ajax fuera de ella? indican como solución las funciones callback. Pero no se como implementarla. El último console.log sigue mostrando "undefined".
function getCoordenadas(){
var addresses = [
{name: 'Asensio Gonzalez', address:'C/San Marcos 377, 1ºB, 28030 Madrid' },
{name: 'Javier Gomez', address:'C/San Pere 152, 4ºC, esc drc, 14050 Malaga'},
{name: 'Irene Montealegre', address:'C/San Juan 8, 1ºB, 33500 Alicante'},
{name: 'Tobias Ibarretxe', address:'C/San Antonio 7, 1ºB, 12500 Donostia'},
{name: 'José García', address:'C/San Fermin 3, 1ºB, 13600 Caceres'},
];
var coords=[];
for (var x = 0; x < addresses.length; x++) {
$.getJSON('http://maps.googleapis.com/maps/api/geocode/json?address='+addresses[x].address+'&sensor=false', null, function (data) {
callback(data);
});
}
function callback(data){
var lat = data.results[0].geometry.location.lat
var lng = data.results[0].geometry.location.lng;
coords.push( new Array({lat:lat,lng:lng}));
//console.log({lat:lat,lng:lng} )
}
console.log('Coordenadas '+ coords );
}