我试图将位置值存储在函数范围之外。 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的新手,我想知道它的方法是什么。如何从{\ n}}声明的范围中访问position.coords
的值?有人可以帮忙吗?
答案 0 :(得分:1)
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):
});
对地理定位服务的调用是asyc,因此如果您想使用position
的值,您需要在回调中执行此操作或将其传递给另一个函数。