【发布时间】:2015-07-23 10:08:11
【问题描述】:
我正在编写一个 Cordova/Phonegap 应用程序,我使用了一个地理定位插件...这是我的代码...
var onSuccess = function(position) {
longitude = position.coords.longitude;
latitude = position.coords.latitude;
console.log("Latitude: "+position.coords.latitude);
console.log("Longitude: "+position.coords.longitude);
};
function onError(error) {
logService.debug("Code: "+error.code);
logService.debug("Message: "+error.message);
};
navigator.geolocation.getCurrentPosition(onSuccess, onError, { maximumAge: 3000, timeout: 15000, enableHighAccuracy: true });
现在,我在浏览器上对其进行测试,当我没有获得权限时,我收到错误代码 1 (PositionError.PERMISSION_DENIED),当我获得权限时,它在浏览器上运行良好......现在出生的问题......当我在设备上测试这个并且 GPS 关闭时,我没有收到错误代码 1 (PositionError.PERMISSION_DENIED) 但总是收到超时...这样我就看不出区别...我将超时设置为150000 但我总是收到代码 3 (PositionError.TIMEOUT)...为什么?怎样才能正确使用呢?
【问题讨论】:
-
当设备的 gps 关闭时,您实际上想要什么?让用户打开它?
-
我想在我的控制台中读取...代码 1 (PositionError.PERMISSION_DENIED) 或代码 2 (PositionError.POSITION_UNAVAILABLE)...它不能总是超时...
-
即使关闭GPS,也应该可以通过3G网络、wifi等获取位置。反正geolocation插件使用的是geolocation内置的native webview,所以怪google(by责怪我真的是说,在android问题跟踪器上打开一个问题)
标签: javascript android cordova geolocation phonegap-plugins