JavaScript использует возврат одной функции внутри другой
У меня есть функция A, которая использует функцию B внутри, я хочу использовать возвращаемую переменную из функции B внутри функции A, но она всегда дает мне неопределенный...
Я много искал в Интернете ответы, но я становлюсь безнадежным.
заранее
function initialize() {
geocoder = new google.maps.Geocoder();
var latlng = new google.maps.LatLng(40.714352, -74.005973);
....
}
map = new google.maps.Map(document.getElementById('map_canvas'), mapOptions);
**latlng=codeAddress("lisboa")**;
}
function codeAddress(a) {
geocoder.geocode( { 'address': a}, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
latlong=results[0].geometry.location;
alert(latlong);
return latlong;
} else {
alert('Geocode was not successful for the following reason: ' + status);
}
});
1 ответ
Вам нужно использовать обратный вызов для обработки результатов:
function initialize() {
.... // your code
codeAddress(function(res){
alert(res);
});
function codeAddress(callback) {
var latlng = new google.maps.LatLng(40.714352, -74.005973);
geocoder.geocode({'latLng': latlng}, function(res, sta) {
if (sta== google.maps.GeocoderStatus.OK)
{
if (res[1])
callback(res[1].formatted_address);
else
alert("Nothing found");
}
});
}
}