React Native 地理定位 API 中的 getCurrentPosition 只运行了 10% 的时间?
Posted
技术标签:
【中文标题】React Native 地理定位 API 中的 getCurrentPosition 只运行了 10% 的时间?【英文标题】:getCurrentPosition in the React Native geolocation API is only running 10% of the time? 【发布时间】:2017-12-18 04:04:30 【问题描述】:我在 componentDidMount 中运行 React Native getCurrentPosition Geolocation 函数,如下所示:
async componentDidMount()
alert('comp mounting');
await navigator.geolocation.getCurrentPosition(
(position) =>
alert("state of lat in callback is "+position.coords.latitude);
this.setState(lat: position.coords.latitude, long: position.coords.longitude);
,
(error) => alert("there was an error getting location"),
enableHighAccuracy: true
);
它在我第一次运行时提醒了纬度,在大约 40 次尝试中可能还有其他几次。我认为所有这些运行都没有async
和await
。大约 90% 的时间,成功回调中的警报和错误回调中的警报都不会运行。
我将 async 和 await 放入,因为我认为请求花费的时间太长(虽然第一次立即运行)。
我需要将位置信息传递给子组件。
是 React Native 默认的 Geolocation 库不是很好还是我做错了什么?我应该切换到使用单独的 ios/android 地理位置选项吗?
【问题讨论】:
【参考方案1】:alert() 调用似乎是问题所在。一旦我删除了 alert() 调用,它就开始工作了。
【讨论】:
以上是关于React Native 地理定位 API 中的 getCurrentPosition 只运行了 10% 的时间?的主要内容,如果未能解决你的问题,请参考以下文章
react-native-mauron85-background 地理定位错误