Phonegap 检测设备 GPS 状态

Posted

技术标签:

【中文标题】Phonegap 检测设备 GPS 状态【英文标题】:Phonegap Detect Device GPS Status 【发布时间】:2014-01-02 15:03:38 【问题描述】:

经过几个小时的搜索,我终于决定在这里发布一个问题。

我正在使用 cordova/phonegap 版本 3 库并尝试构建基于地理位置的应用程序。 我需要做的是检查用户是否启用了 GPS,然后才能执行其他操作,但据我所知,这似乎是不可能的。

我使用的代码是:

function onDeviceReady() 
   // Throw an error if no update is received every 30 seconds
   var options = maximumAge: 0, timeout: 10000, enableHighAccuracy: true;
   watchID = navigator.geolocation.watchPosition(onSuccess, onGeoError, options);


function onSuccess(position)  
    //DO WHATEVER


function onGeoError(error) 
   alert('code: ' + error.code + '\n' +
   'message: ' + error.message + '\n');

我希望通过 error.POSITION_UNAVAILABLE 消息引发错误,但无论我做什么,每次都会引发 TIMEOUT 错误 (error.TIMEOUT)。我什至将设备置于飞行模式,关闭所有设备(gps 等),但仍然出现 TIMEOUT 错误。

任何人都可以提出一个更好的方法来实现这一点。

【问题讨论】:

你检查权限了吗:docs.phonegap.com/en/3.0.0/… 是的,所有权限都已添加 你找出问题所在了吗?我也有同样的问题 是的,我的应用程序的问题是我在安装插件后没有运行构建命令(cordova prepare)。在运行“cordova build”命令之前备份您的 www 文件夹,因为这会将 www 文件夹替换为默认内容。 Sahil,最好添加自己的答案并接受它作为答案。 【参考方案1】:

我的应用程序的问题是我在安装插件后没有运行构建命令(cordova prepare)。在运行“cordova build”命令之前备份您的 www 文件夹,因为这会将 www 文件夹替换为默认内容

【讨论】:

以上是关于Phonegap 检测设备 GPS 状态的主要内容,如果未能解决你的问题,请参考以下文章

如何查看phonegap中的gps状态?

PhoneGap 构建 - 位置 API 超时

如何查看 Windows Phone 8 模拟器或运行 Phonegap 应用程序的设备的 javascript 控制台输出

Android phonegap GPS 精度

PhoneGap 地理定位器使用 WiFi 而不是 GPS

从 GPS 坐标转换为 windows phone 中的地址