为什么我的变量在我的函数之外未定义?

丹尼尔

我是 javascript 新手,我正在尝试构建一个网站,该网站在用户区域显示温度,但是我的lalg变量在我的showPosition()函数之外未定义,因此我无法成功调用 API 来获取天气。

这是完整的代码:

var la;
var lg;

function getLocation() {
 if (navigator.geolocation)
   navigator.geolocation.getCurrentPosition(showPosition); 
}

function showPosition(position) {
 la= position.coords.latitude;
 lg= position.coords.longitude;
}

getLocation();

var url="https://fcc-weather-api.glitch.me/api/current?lat=" + la + "&lon=" + lg;
document.getElementById("im").innerHTML="Latitude:" + la;

fetch(url)
 .then((resp) => resp.json())
 .then(function(data) {
   document.getElementById("temper").innerHTML="Temperature:" + data.main.temp;
 })
 .catch(function(error) {
   console.log("error: " + error);
 });

我决定测试我的lalg变量是否正确document.getElementById("im").innerHTML="Latitude:" + la,但我得到Latitude:undefined. 我在showPosition()函数内部进行了相同的测试,并且正确定义了变量。我该如何解决这个问题?

斯蒂芬

问题是它showPosition不会立即被调用(例如初始化 GPS 需要一些时间)。因此,您必须等待您的请求,直到收到您的位置数据:

var la;
var lg;

function getLocation() {
 if (navigator.geolocation)
   navigator.geolocation.getCurrentPosition(showPosition); 
}

function showPosition(position) {
 la = position.coords.latitude;
 lg = position.coords.longitude;

 var url="https://fcc-weather-api.glitch.me/api/current?lat=" + la + "&lon=" + lg;
 document.getElementById("im").innerHTML="Latitude:" + la;

 fetch(url)
  .then((resp) => resp.json())
  .then(function(data) {
    document.getElementById("temper").innerHTML="Temperature:" + data.main.temp;
  })
  .catch(function(error) {
    console.log("error: " + error);
  });
}

getLocation();

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

为什么我的变量“未定义”

来自分类Dev

当我使用 onClick 箭头函数时,为什么我的变量未定义?

来自分类Dev

为什么我的自定义PHP函数中出现“未定义的变量”

来自分类Dev

在 JavaScript 中,为什么这个全局变量在我的函数中未定义?

来自分类Dev

为什么我的变量仍未定义?

来自分类Dev

Angular Factory-为什么我的变量未定义?

来自分类Dev

为什么我的变量在javascript中返回未定义?

来自分类Dev

为什么订阅后我的对象的变量未定义

来自分类Dev

为什么我的变量表数据返回未定义?

来自分类Dev

为什么我的Angular作用域变量未定义?

来自分类Dev

Angular Factory-为什么我的变量未定义?

来自分类Dev

Laravel:为什么我的路径变量未定义?

来自分类Dev

为什么我的 pdo 变量总是未定义?

来自分类Dev

为什么我的变量在 init 中未定义?

来自分类Dev

为什么我得到未定义的变量?

来自分类Dev

为什么我得到“未定义变量”?

来自分类Dev

为什么我得到未定义的构造函数

来自分类Dev

为什么我变得未定义不是函数,ReactJs

来自分类Dev

为什么我的函数未定义且未加载

来自分类Dev

为什么在调用我的函数时未定义它?

来自分类Dev

为什么我的递归函数返回未定义?

来自分类Dev

为什么我的MySQL函数不断变得“未定义”?

来自分类Dev

为什么我得到未定义的不是函数?

来自分类Dev

为什么我的反应通量函数未定义?

来自分类Dev

为什么我的 javascript 抛出函数未定义错误?

来自分类Dev

为什么我的递归函数返回“未定义”?

来自分类Dev

为什么我的输出未定义

来自分类Dev

为什么我的方法未定义?

来自分类Dev

为什么未定义我的方法?

Related 相关文章

热门标签

归档