JavaScript-禁用GPS后,Ionic 3地理位置无法正常工作
作者:互联网
我安装了离子本机地理位置插件
"@ionic-native/geolocation": "^4.15.0"
我也尝试过“ 4.6.0”和“ 4.20.0”.当我在进入该页面之前启用GPS时,它工作得非常好.但是,当未启用GPS时,它不会要求我将其打开,在控制台上显示错误并携带未定义的坐标.
我在构造函数/ ionViewDidLoad中编写了getCurrentPosition的方法.因此,即使用户在该页面上启用它,该方法也不会调用,并且坐标仍然不确定.
以下是代码
this.geolocation
.getCurrentPosition()
.then(resp => {
console.log(resp);
this.longitude = resp.coords.longitude;
this.latitude = resp.coords.latitude;
})
.catch(error => {
console.log("Error getting location", error);
});
我不知道我是否必须给予手动权限或什么?几个月前我做了同样的事情,一切都很好.我第一次面对这种问题.请帮助我摆脱困境.
解决方法:
您应该手动请求权限并请求用户启用位置信息.您可以使用诊断插件(@ ionic-native / diagnostic)进行此操作.您应该使用以下方法:
diagnostic.isLocationEnabled()
diagnostic.isLocationAvailable()
diagnostic.requestLocationAuthorization()
如果要在授予权限后更新位置,可以使用以下方法:
diagnostic.registerLocationStateChangeHandler()
您可以在此处传递一个回调,以检查是否已启用位置信息以及是否可用.
标签:ionic4,ionic-native,javascript,ionic2,ionic3 来源: https://codeday.me/bug/20191011/1889418.html