Работаю геокодером на javascript. У меня есть функция с именем codeAddress, которая принимает адрес и правильно дает координаты. Однако, когда я вызываю эту функцию в другой функции, я не могу получить правильные результаты, потому что функция вызывающего абонента заканчивается перед функцией codeAddress. Вот мой код:
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, OSMANGAZİ, Bursa", 12);
alert("trial2");
}
window.onload = trial2;
когда я запускаю этот код, сначала отображается «trial2», а затем «codeAddress». В чем причина этого?