【发布时间】:2017-06-26 21:04:10
【问题描述】:
我为 ionic 2 使用插件 cordova Geolocation 但我需要知道 GPS 是启用还是禁用。不知道怎么弄的。
请帮助我;)谢谢!
【问题讨论】:
标签: android validation geolocation gps ionic2
我为 ionic 2 使用插件 cordova Geolocation 但我需要知道 GPS 是启用还是禁用。不知道怎么弄的。
请帮助我;)谢谢!
【问题讨论】:
标签: android validation geolocation gps ionic2
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 并设置模式。我建议也看看这个插件的文档。
【讨论】:
这个插件我很幸运
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,系统会提示用户授予其 GPS 权限。如果他们选择否,那么它可能已启用,但您无法使用。您也不能轻易说出您获得的精度。您可能会获取 wifi 或移动位置而不是 GPS 位置。
这个插件涵盖了所有这些场景,但是,它有一个奇怪的错误,它不能在 android 模拟器中正常工作。
【讨论】: