在尝试确定是否有人在Ionic / Cordova中关闭GPS时遇到了一些问题。
这是我目前正在尝试做的事情,这在浏览器中工作正常但不在Android上。
navigator.geolocation.getCurrentPosition(function(pos) {}, function(err) {
alert('We were unable to determine your location, please turn on your GPS/Location services');
});
另一件事是否有人知道是否有可能提示用Ionic / cordova打开GPS?
有人有任何想法吗?
答案 0 :(得分:17)
请添加this插件,
cordova plugin add cordova.plugins.diagnostic
1.确定是否有人在Ionic / Cordova中关闭了GPS
<强> Contoller
强>
if (window.cordova) {
cordova.plugins.diagnostic.isLocationEnabled(function(enabled) {
alert("Location is " + (enabled ? "enabled" : "disabled"));
}, function(error) {
alert("The following error occurred: " + error);
});
}
2.提示打开GPS
<强> Controller
强>
if (window.cordova) {
cordova.plugins.diagnostic.switchToLocationSettings();
}
答案 1 :(得分:3)
我认为使用ngCordova插件检测GPS状态会更容易。 你可以尝试这两个插件:
watch
函数和错误回调。你应该用它来检查。$cordovaGeolocation
相同,但具有battery-saving
功能。答案 2 :(得分:2)
试试这个
let optionsGPS = {timeout: 4000, enableHighAccuracy: true};
Geolocation.getCurrentPosition(optionsGPS).then((result) => {
this.loadMap(result.coords.latitude, result.coords.longitude);
}).catch((err) => {
let alert = this.alertCtrl.create({
title: 'Error on GPS',
subTitle: 'You need active the GPS',
buttons: ['Ok']
});
alert.present();
});
我有同样的问题,这对我有用