如何检查GPS是否启用Ionic2(地理定位)?

时间:2017-06-26 21:04:10

标签: android validation geolocation gps ionic2

我使用插件cordova Geolocation for ionic 2但我需要知道GPS是启用还是禁用。我不知道如何制作这个。

请帮助我;)谢谢!

2 个答案:

答案 0 :(得分:6)

diagnostic plugin背面有很多功能可以检查GPS模式,位置状态等。查看附带的链接以了解更多信息。

import { Diagnostic } from '@ionic-native/diagnostic';

constructor(private diagnostic: Diagnostic) { }

...

let successCallback = (isAvailable) => { console.log('Is available? ' + isAvailable); };
let errorCallback = (e) => console.error(e);

this.diagnostic.isLocationEnabled().then(successCallback).catch(errorCallback);

// only android
this.diagnostic.isGpsLocationEnabled().then(successCallback, errorCallback);

您还可以使用更轻的location-accuracy插件,但它缺少诊断插件上提供的其他选项。我目前正在使用此插件在Android上启用gps并设置模式。我建议也看一下这个插件的文档。

答案 1 :(得分:1)

我对这个插件好运 http://devfanaticblog.com/background-geolocation-with-apache-cordova/ cordova plugin add cordova-plugin-mauron85-background-geolocation

尽管你需要什么,但可能是极端矫枉过正。你总是可以调用getcurrentposition()并检查你是否得到了有效的结果。

navigator.geolocation.getCurrentPosition(success[, error[, options]])

我不确定iPhone如何对待它,但Android现在可能是彻头彻尾的邪恶。因为如果您要求使用它,将提示用户授予其GPS权限。如果他们选择否,则可以启用它,但您无法使用。你也不能轻易分辨出你的准确度。您可能正在使用wifi或移动位置而不是GPS位置。

这个插件涵盖了所有这些场景,然而,它有一个奇怪的错误,它在android模拟器中无法正常工作。