【问题标题】:Unable to get when user dennied activating location - React Native Geolocation Service用户拒绝激活位置时无法获取 - React Native Geolocation Service
【发布时间】:2021-05-08 17:40:48
【问题描述】:

我打开这个问题并自己回答,以帮助面临同样问题的其他用户。

在使用包 react-native-geolocation-service 的 Android 中使用 React Native 应用程序时,尝试让用户激活其位置(不允许它,激活它 strong>),我发现按钮取消没有返回任何错误。这是我正在谈论的弹出窗口:

我使用的函数如下:

   Geolocation.getCurrentPosition(
        (position) => {
         console.log(position);
        (error) => {
          console.log(error.code, error.message);
        },
        { enableHighAccuracy: true, timeout: 15000, maximumAge: 10000 }
    });

我完全确定它是正确的,因为它是来自 github 存储库的副本。但是,控制台从未记录过错误。

如果您遇到同样的问题,请查看下面的答案。

【问题讨论】:

    标签: react-native geolocation


    【解决方案1】:

    事实证明,问题在于 Visual Studio Code 插件(可能是 Prettier 和 ESLint)的组合弄乱了我的代码。正确的代码应该是这样的:

    Geolocation.getCurrentPosition(
          pos => {
            // Do somehting if location activated
          },
          error => {
            console.log(error.code, error.message);
          },
          {enableHighAccuracy: false, timeout: 15000, maximumAge: 10000}
        );
    

    如您所见,我之前的所有代码都在 "pos" 括号内,这意味着它只有在成功的情况下才进入。由于永远无法到达错误块,因此我无法从用户那里得到否定的答案。

    希望这对任何人都有用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-08-15
      • 2018-11-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多