用户拒绝激活位置时无法获取 - React Native Geolocation Service
Posted
技术标签:
【中文标题】用户拒绝激活位置时无法获取 - React Native Geolocation Service【英文标题】:Unable to get when user dennied activating location - 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 存储库的副本。但是,控制台从未记录过错误。
如果您遇到同样的问题,请查看下面的答案。
【问题讨论】:
【参考方案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" 括号内,这意味着它只有在成功的情况下才进入。由于永远无法到达错误块,因此我无法从用户那里得到否定的答案。
希望这对任何人都有用。
【讨论】:
以上是关于用户拒绝激活位置时无法获取 - React Native Geolocation Service的主要内容,如果未能解决你的问题,请参考以下文章