我正在使用地理编码器API,它会在回调中返回结果
data = data ? data : {} // if not given initialize to empty
geocoder.geocode('Kathmandu, Nepal' , function(err, res) {
data.lat = res[0].latitude;
data.lng = res[0].longitude;
});
并使用数据object
构建Geopoint
here = new GeoPoint(here); // data is still {} here
我的问题是如何在上面的场景中使用来自回调的响应?
答案 0 :(得分:1)
geocode
方法是异步的 - 因此您要对响应做的任何工作都需要在回调中:
geocoder.geocode('Kathmandu, Nepal' , function(err, res) {
data.lat = res[0].latitude;
data.lng = res[0].longitude;
here = new GeoPoint(here); //HAS TO BE IN A CALLBACK
//- or passed to another function from within the callback
});