我有JS代码正在进行地理定位,所以我将地址转换为坐标,但我无法从回调函数中获取值:
$(function () {
var longitude;
var latitude;
GMaps.geocode({
address: geolocate_address,
callback: function(results, status) {
if (status == 'OK') {
var latlng = results[0].geometry.location;
latitude = latlng.lat();
longitude = latlng.lng();
}
}
});
console.log(latitude);
console.log(longitude);
});
显示空变量。
当我在回调函数中发出警报时,它会显示坐标。
如何在该函数之外获取坐标?
答案 0 :(得分:0)
您的回调是异步的,在您调用console.log(latitude);
时,latitude
仍然没有设置值,因为客户端仍在等待服务器响应。
尝试处理之后>>的数据:
GMaps.geocode({
address: geolocate_address,
callback: function(results, status) {
if (status == 'OK') {
var latlng = results[0].geometry.location;
latitude = latlng.lat();
longitude = latlng.lng();
handleCallback(latitude, longitude);
}
}
});
function handleCallback(latitude, longitude){
console.log(latitude);
console.log(longitude);
}