10

我正在使用 jquery-ui-maps 和 HTML5 地理位置向用户显示位置列表,我需要利用用户的地理位置。

所以,这里是用例,

  1. 用户未启用 GPS/定位服务。
  2. 用户打开应用程序并导航到调用navigator.geolocation以获取用户位置的视图
  3. 应用程序出错并通知用户他们必须启用 GPS/定位服务
  4. 然后用户导航出应用程序并启用 GPS
  5. 当用户返回应用程序并尝试查看地图(再次调用地理位置)时,应用程序仍然无法使用 GPS。

我相信我已将其范围缩小为一个 Phonegap 问题,其中 GPS 权限在应用程序加载时初始化并且从未重新评估。

我的问题是,是否可以在应用程序运行期间启用 GPS,或者 Phonegap 是否需要重新加载应用程序才能使用 GPS?

4

2 回答 2

8

Phonegap 支持实时更新您的 GPS。

这是一个直接链接:

http://docs.phonegap.com/en/3.1.0/cordova_geolocation_geolocation.md.html#geolocation.watchPosition

通常它被称为“手表位置”,您可以自己设置刷新计时器。

关于在运行时启用 GPS。

试着打电话navigator.geolocation.watchPosition()

请记住在您的 config.xml 上也授予对地理位置的访问权限,但我想您知道 ;)

我希望它有所帮助。

于 2013-11-05T10:19:37.400 回答
2

经过一段时间的努力,我找到了一个能够帮助我解决同样问题的插件

https://github.com/nishantsharmajecrc/cordova-dialog-gps

  function calldialog() {
 document.addEventListener("deviceready",function() {
 cordova.dialogGPS("Your GPS is Disabled, this app needs to be enable to          works.",//message
            "Use GPS, with wifi or 3G.",//description
            function(buttonIndex){//callback
              switch(buttonIndex) {
                case 0: break;//cancel
                case 1: break;//neutro option
                case 2: break;//user go to configuration
              }},
              "Please Turn on GPS",//title
              ["Cancel","Later","Go"]);//buttons
  });
  }
于 2016-04-24T10:53:19.380 回答