【发布时间】:2012-02-03 00:36:10
【问题描述】:
我正在尝试使用 javascript 来获取用户的地理位置,这样我就可以将该信息用作另一部分 javascript 代码中的参数,但是我无法获得正确的范围。
这是我的代码。在成功函数内执行警报工作正常,但如果我尝试在函数外的任何地方访问 var lat,我会得到未定义的值。我将如何解决这个问题?
var lat; var long;
function success(position) {
lat = position.coords.latitude;
long = position.coords.longitude;
alert(lat);
}
function error(msg) {
}
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(success, error);
} else {
error('not supported');
}
【问题讨论】:
-
欢迎来到 async 的精彩世界!你不能那样做。
-
我没有看到您在
success()之外尝试引用lat的位置。 -
@gilly3 - 我在 if else 语句之后有它,然后将它移到了成功函数中。它仅适用于成功函数。我想我正在寻找某种方法来等待返回值,然后再尝试访问它
标签: javascript scope