JavaScript:未定义的变量错误

JavaScript: Undefined variable error

本文关键字:变量 错误 未定义 JavaScript      更新时间:2023-09-26

我正试图将位置值存储在函数范围之外。HTML5地理定位API正是我所需要的。这是我的代码:

var location={};
navigator.geolocation.getCurrentPosition(function maPosition(position) {
          location.latitude = position.coords.latitude;
          location.longitude = position.coords.longitude;
    });
console.log(position.latitude);
console.log(position.longitude);

当我运行此程序时,我会得到错误variable undefined。这是因为它可能在maPosition的范围内不可用。由于我是JavaScript的新手,我想知道如何绕过它。如何在声明的范围之外访问position.coords的值?有人能帮忙吗?

position变量被传递给getCurrentPosition中的回调函数。它只在功能内部可用

尝试:

var location={};
navigator.geolocation.getCurrentPosition(function maPosition(position) {
      location.latitude = position.coords.latitude;
      location.longitude = position.coords.longitude;
      console.log(position.latitude);
      console.log(position.longitude);
      // or you could call another function and pass the value
      //someFunction(position):
});

对地理定位服务的调用是异步的,所以如果您想使用position的值,您需要在回调中执行,或者将其传递给另一个函数。