gpt4 book ai didi

javascript - 回顾变量问题(涉及地理定位)

转载 作者:行者123 更新时间:2023-12-03 02:27:18 25 4
gpt4 key购买 nike

我不明白为什么 console.log(latitude)无法在 if 之外工作陈述。我记得latitude在控制台中,因此其值正在更新。我的猜测是console.log(latitude)正在 latitude's 之前运行值已更改,但我的解决方案可确保 if声明首先完成到目前为止还没有起作用。我也尝试过调试器。任何帮助深表感谢! (我希望我没有忽略一些非常简单的事情!)

var latitude = "" ;
var longitude = "";

if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(function(position) {
latitude = position.coords.latitude;
longitude = position.coords.longitude;
place.textContent = ("latitude: " + latitude + " longitude: " + longitude);
});
}

console.log(latitude);

最佳答案

回调是异步的。因此,latitude 的 console.log 将返回 undefined。如果您想在计算后(在回调内)访问纬度,那么您需要对代码片段进行一些不同的处理。像这样的东西:

navigator.geolocation.getCurrentPosition(function(position) {
latitude = position.coords.latitude;
longitude = position.coords.longitude;
place.textContent = ("latitude: " + latitude + " longitude: " + longitude);
fn(latitude,longitude)
});

然后您可以在fn函数中获取最后计算的值:

fn(latitude,longitude) => {
//use the logic here
}

关于javascript - 回顾变量问题(涉及地理定位),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48890250/

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