javascript 中的全局变量来获取地理位置

global variable in javascript to get Geolocation

本文关键字:获取 地理位置 全局变量 javascript      更新时间:2024-02-02

我使用以下代码访问黑莓设备的地理位置。 它的工作并显示所需的结果。 但是我想访问窗口。GlobalVar 在此函数的主体之外。如何访问它?请帮忙。

 navigator.geolocation.getCurrentPosition(function(position) {  
  var gps = (position.coords.latitude+position.coords.longitude);  
  window.GlobalVar = gps;
  alert (window.GlobalVar);
});

此致敬意

window.GlobalVar可以在函数外部访问。

这里可能出错的是,您尝试在设置它之前访问它,因为它是在回调函数中设置的。

getCurrentPosition提示用户输入坐标,但它不是阻塞调用,即它不会简单地停止所有代码执行并等待用户做出决定。

这意味着您不会在页面加载期间设置window.GlobalVar,而是在页面加载期间请求它,并在用户决定时设置它。因此,无论您在哪里打电话给getCurrentPosition,您都无法确定在给定的点上会设置window.GlobalVar

如果要确保在正在运行的脚本中设置了window.GlobalVar,则需要确保在设置变量运行脚本。

navigator.geolocation.getCurrentPosition(function(position) {  
  var gps = (position.coords.latitude+position.coords.longitude);  
  window.GlobalVar = gps;
  continueSomeProcess();
});
function continueSomeProcess() {
   // this code will be able to access window.GlobalVar
}

设置window.gps = gps后调用window.gps应该就足够了,因为它具有全局范围,因为您将其附加到window。请注意 JS 是异步的,即调用它时可能未定义gps