gpt4 book ai didi

javascript - 计算地理位置时无法设置外部(全局?)变量

转载 作者:行者123 更新时间:2023-11-28 05:30:16 25 4
gpt4 key购买 nike

这是我的代码:

var lat;

$(document).ready(function() {
navigator.geolocation.getCurrentPosition(function(position) {
lat = position.coords.latitude;
console.log("inside", lat);
});

console.log("outside", lat);
});

当我运行它时(请参阅 jsfiddle ),控制台显示以下内容:

outside undefined
inside 55.8509728

不确定这是否重要,但我注意到“外部”值始终首先显示,即使它在代码中位于“内部”之后。

有人能好心解释一下为什么我无法获取(或可能设置吗?)lat变量?

最佳答案

navigator.geolocation.getCurrentPosition 是一个异步函数,它只会调用该函数,从而在检索到位置后运行“内部”代码。这就是为什么您首先看到“外部”消息(此时 lat 确实未定义),然后看到内部消息。

如果您需要访问lat的值,则需要等待它被定义,例如通过从getCurrentPosition回调内部调用另一个函数。

关于javascript - 计算地理位置时无法设置外部(全局?)变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39749710/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com