2016-10-10 5 views
0

У меня есть функция geoCode, которая использует функцию обратного вызова, чтобы что-то сделать после завершения асинхронного запроса. Однако он возвращает значение NULL.функция обратного вызова для API Google Geocode, возвращающая значение NULL

function codeAddress(callback) { 

    /***** build string address from form data 
    var address = addressOne + "," + addressTwo + "," + region + "," + zip + "," + country; 
    *****/ 

    var geocodeAddress = geocoder.geocode({ 'address': address}, function (results, status) { callback(results) }); 

} 

codeAddress(function(returnData){ 
    console.log("results= " + returnData); 
    console.log(returnData); 
    }); 

это дает пустой массив

+1

Вы проверили статус ..? какой статус у? –

+0

Да. Спасибо, статус возвращает ZERO_RESULTS, поэтому, очевидно, returnData будет пустым. Большое спасибо – user3617712

+0

Предлагаемое решение в этой статье [SO post] (http://stackoverflow.com/a/18283942) может не решить вашу проблему напрямую, но это объясняет, как работает функция callback() Google Geocode API и что вызывает обратный вызов() 'для возврата нулевого значения. Надеюсь, что объяснение поможет вам устранить возникшую ошибку. – Teyam

ответ

0
var returnData = function() { 
     return data; 
}; 

codeAddress (returnData()); 

должны быть в состоянии передать то, что вам нравится.

Смежные вопросы