Der*_*rek 6 javascript geolocation navigator w3c-geolocation
我正在尝试使用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
Run Code Online (Sandbox Code Playgroud)
由于范围,上面的代码无法在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;
}
Run Code Online (Sandbox Code Playgroud)
这就是你得到 null 的原因。异步!,异步!:)