У меня есть функция getLatLong()
, которую я использую на протяжении всего кода. Я хочу, чтобы он возвращал широту и долготу с определенного адреса.Обратный звонок для получения результатов по геокодированию
function getLatLong(address) {
var geocoder = new google.maps.Geocoder();
geocoder.geocode({ 'address': address, 'region': 'uk' }, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
lat = results[0].geometry.location.lat();
lng = results[0].geometry.location.lng();
return [lat, lng];
} else {
return ("Unable to find address: " + status);
}
});
}
Желание быть в состоянии сделать getLatLong("London SW1A 1AA");
я, кажется, не в состоянии заставить его работать. Он постоянно возвращает undefined
. Изучив немного, я вижу, что мне нужно использовать обратный вызов, но я не могу для жизни понять, как это сделать.
Возможный дубликат [Как вернуть ответ от асинхронного вызова?] (Http://stackoverflow.com/questions/14220321/how -do-i-return-the-response-from-a-асинхронный вызов) – Andreas