【问题标题】:react native check if location services are on iOS反应原生检查位置服务是否在iOS上
【发布时间】:2017-04-11 10:12:33
【问题描述】:

我在 react native 中使用 navigator.geolocation.getCurrentPosition() 并且工作正常。
但是,如果关闭位置服务(引导用户进行设置的对话框),我希望能够做出很好的反应。
我找到了适用于 android 的插件,我认为它可以正常工作: https://www.npmjs.com/package/react-native-android-location-services-dialog-box
在iOS中应该怎么做?

【问题讨论】:

    标签: ios react-native geolocation


    【解决方案1】:

    编辑

    你可以使用这个做得很好的第三者library

    然后像这样使用它:

    Location.getAuthorizationStatus((authorization) => {
      console.log(authorization)
    });
    

    上一个答案

    getCurrentPosition 可以接受错误回调。如果未启用位置,则会触发此操作。

    你可以这样做:

    navigator.geolocation.getCurrentPosition(
      (position) => {
        this.setState({ position });
      },
      (error) => {
        console.log(alert);
      },
      {enableHighAccuracy: true, timeout: 20000, maximumAge: 1000}
    );
    

    您可以查看docs了解更多信息。

    【讨论】:

    • 谢谢,我检查过了,但错误没有接缝返回一个清晰的错误代码,可以确定错误的来源......
    • 除此之外,这对打开操作系统参数没有帮助
    • 要在ios中打开设置,您可以使用:Linking.openURL('app-settings:')。更多信息here
    • @alexandre 您也可以使用我在答案中添加的库。
    • 是的,非常感谢!你知道如何对错误类型进行排序吗?像错误,因为您的应用没有授权位置,因为位置关闭而出现错误,因为无法检索位置而出现错误,错误超时......
    猜你喜欢
    • 2013-02-15
    • 2016-08-15
    • 2018-03-07
    • 2019-12-25
    • 2019-11-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多