经过几个小时的搜索,我终于决定在这里发一个问题。
我正在使用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错误。
任何人都可以建议更好的方法来实现这一目标。
答案 0 :(得分:0)
我的应用程序的问题是我在安装插件后没有运行build命令(cordova prepare)。在运行'cordova build'命令之前备份你的www文件夹,因为这将用默认内容替换www文件夹