Je travaille sur un géocodeur en javascript. J'ai une fonction nommée codeAddress qui prend l'adresse et donne les coordonnées correctement. Cependant, lorsque j'appelle cette fonction dans une autre fonction, je ne peux pas obtenir de résultats corrects parce que la fonction appelante se termine avant la fonction codeAddress. Voici mon code :
var geocoder = new google.maps.Geocoder();
var lokasyon ={ id:0,lat:0,lng:0 };
var lokasyonlar=[];
function codeAddress(adres, id) {
geocoder.geocode({ 'address': adres }, function (results, status) {
if (status == google.maps.GeocoderStatus.OK) {
lokasyon.id = id;
lokasyon.lat = results[0].geometry.location.lat();
lokasyon.lng = results[0].geometry.location.lng();
lokasyonlar.push(lokasyon);
alert("codeAddress");
} else {
alert("Geocode was not successful for the following reason: " + status);
}
});
}
function trial2() {
codeAddress("1.ADA SOKAK, ADALET, OSMANGAZI, Bursa", 12);
alert("trial2");
}
window.onload = trial2;
Lorsque j'exécute ce code, c'est d'abord "trial2" qui s'affiche, puis "codeAddress". Quelle en est la raison ?