I try to get the coordinates of an address array [duplicated]

1

The first console log shows the correct information, but the second appears as undefined and I can not find the reason.

	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) {
            var lat = data.results[0].geometry.location.lat
            var lng = data.results[0].geometry.location.lng;
 			coords.push( {lat:lat,lng:lng} );
 			//console.log({lat:lat,lng:lng} )

        });
    }
    console.log('Coordenadas '+ coords );
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    
asked by Nacho 06.09.2018 в 12:48
source

1 answer

0

Look at this example

<script>
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=new Array();;
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) {
        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(coords);
</script>

Solve something like this

Greetings:)

    
answered by 06.09.2018 в 12:55