我正在尝试使用js的范围来将变量从navigator.geolocation.getCurrentPosition中拉出
var lat;
function callback (position) {
lat = position.coords.latitude;
}
navigator.geolocation.getCurrentPosition(callback,fail,{timeout:10000});
// after getCurrentPosition succeeds
alert(lat); // this alerts null
由于范围,上述代码无法在lat变量中存储position.coords.latitude。有没有办法做到这一点?
最佳答案
您必须记住async\ajax性质。
这是代码的执行顺序:
var lat;
alert(lat); // this alerts null
navigator.geolocation.getCurrentPosition(callback,fail,{timeout:10000});
function callback (position) {
lat = position.coords.latitude;
}
这就是为什么您会得到null的原因。 异步! ,异步! :)
关于javascript - 是否在navigator.geolocation.getCurrentPosition之外保存变量? (javascript),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9935059/