3

我正在使用 phonegap (cordova 1.9.0) 开发 iPad 应用程序。我需要获取用户的当前位置。我使用了以下代码,并且在启用位置服务时工作正常。

function onDeviceReady() {  
 navigator.geolocation.getCurrentPosition(onSuccess, onError);   
 }

function onSuccess(position) {
 console.log(position.coords.latitude + "-" + position.coords.longitude);
}

  function onError(error) {   
     alert('code: '    + error.code           
      'message: ' + error.message + '\n');  
  }

我的问题是禁用位置服务时此代码不起作用。如果启用或禁用位置服务,我需要获取当前位置。

有人告诉我如何在这种情况下获得当前位置吗?

4

1 回答 1

4

禁用位置服务时,您无法获取当前位置。这将侵犯用户的隐私。在设备上禁用位置服务的目的是防止应用程序获取当前位置。

我所做的是显示我自己的对话框,并详细解释为什么在调用之前需要位置服务getCurrentPosition()。我解释说,没有它,该应用程序将无法运行。我还说:

您的设备也可能会征求您的许可。

这增加了有人对 iPhone 对话框说“是”的机会。

于 2012-08-20T04:39:01.567 回答