【问题标题】:How to check GPS is enable or not with Ionic2 (Geolocation)?如何使用 Ionic2(地理定位)检查 GPS 是否启用?
【发布时间】:2017-06-26 21:04:10
【问题描述】:

我为 ionic 2 使用插件 cordova Geolocation 但我需要知道 GPS 是启用还是禁用。不知道怎么弄的。

请帮助我;)谢谢!

【问题讨论】:

    标签: android validation geolocation gps ionic2


    【解决方案1】:

    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 并设置模式。我建议也看看这个插件的文档。

    【讨论】:

    • 非常感谢 Alberick0 ;) !
    【解决方案2】:

    这个插件我很幸运 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 模拟器中正常工作。

    【讨论】:

      猜你喜欢
      • 2011-09-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-08-22
      相关资源
      最近更新 更多