Phonegap检测设备GPS状态

时间:2014-01-02 15:03:39

标签: android cordova geolocation gps

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

我正在使用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错误。

任何人都可以建议更好的方法来实现这一目标。

1 个答案:

答案 0 :(得分:0)

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