I have one array
SchoolAddress[0] = Abelsvej 98, 4100, Ringsted;
SchoolAddress[1] = Prstevej 19, 4100, Ringsted;
SchoolAddress[2] = Haraldsvej 77, 4100, Ringsted;
I have to get latitude & longitude for this address.
I am using google geocoder for this.
for (var i = 0; i < schools.length; i++)
{
var address = schools[i][1];
var geocoder = new google.maps.Geocoder();
geocoder.geocode({ 'address': address }, function (results, status)
{
var location = results[0].geometry.location;
schoolslat[i] = location.lat() + ', ' + location.lng();
});
}
Here what happens is as call takes some time, the values coming from call do not go to proper schoolslat[i].
You may use closure to freeze variable i
in your request:
for (var i = 0; i < schools.length; i++)
{
(function(i){
var address = schools[i];
var geocoder = new google.maps.Geocoder();
geocoder.geocode({ 'address': address }, function (results, status)
{
var location = results[0].geometry.location;
schoolslat[i] = location.lat() + ', ' + location.lng();
});
}(i));
}
UPD: