我使用插件cordova Geolocation for ionic 2但我需要知道GPS是启用还是禁用。我不知道如何制作这个。
请帮助我;)谢谢!
答案 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模拟器中无法正常工作。