我试了好几天才让Cordova V3.4,GPS插件正常工作。 我在互联网上看到了很多解决方案和建议,但是他们没有解决这个问题。
问题仅在手机差距应用上发生 [在设备或模拟器中使用APK部署] (在浏览器中GPS工作正常)。
测试详情:
Cordova安装:通过CLI
我添加了对AndroiedManifest的权限:
uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS"
uses-permission android:name="android.permission.INTERNET"
uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"
uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"
ISSUE:
清洁重启后:(没有GPS)
P.S:BTW我也尝试过使用HTML5 Geo Location,我得到了同样的问题。
我的代码:(我尝试过几次,但这是我尝试使用的最新版本。我尝试两次调用getCurrentPosition,因为我读到有时一次调用是不够的:():
var options = {
enableHighAccuracy: true,
timeout: 5000,
maximumAge: 0
};
function success(pos) {
var crd = pos.coords;
var str = 'Your current position is:'+'Latitude : ' + crd.latitude+'Longitude: ' + crd.longitude+'More or less ' + crd.accuracy + ' meters.' + ' TimeStap : ' + crd.ti;
alert(str);
}
function error1(err) {
alert('error 1');
alert('ERROR(' + err.code + '): ' + err.message);
var options = {
enableHighAccuracy: false,
timeout: 5000,
maximumAge: 0
};
navigator.geolocation.getCurrentPosition(success, error2, options);
}
function error2(err){
alert('error 2');
alert('ERROR(' + err.code + '): ' + err.message);
}
navigator.geolocation.getCurrentPosition(success, error1, options);
},