javascript中的全局变量获取Geolocation

asi*_*eed 3 javascript html5 geolocation

我使用以下代码访问黑莓设备的地理位置.它的工作和展示欲望的结果.但我想访问此函数体外的window.GlobalVar.我怎么才能访问它?请帮忙.

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

最好的祝福,

Dav*_*und 7

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
}
Run Code Online (Sandbox Code Playgroud)