【问题标题】:React native queries GPS coordinates and gives timeoutReact Native 查询 GPS 坐标并给出超时
【发布时间】:2020-10-08 16:04:21
【问题描述】:

我们有下一个问题: 我们正在查询 gps 位置以获得仅包含半径范围内的列表的列表,但是在查询 GPS 时,它会在至少等待 40 秒后让我们超时。 在工业环境中使用小米红米 8 的 Android 尤其会出现这个问题,连接比平时少或在移动中,他们无法始终访问 LTE。 我们使用库@react-native-community/geolocation 或 navigation.position 您能否帮助我们使用任何其他库或策略来获取不包含在 GPS 中始终改变其位置的 GPS 位置?就像把它放在后台一样..

代码

Geolocation.getCurrentPosition(
                    position => {
                        // process the position
                    },
                    error => {
                        console.log(error);
                    }, {
                        timeout: 40000,
                        maximumAge: 0
                    }
                );

【问题讨论】:

    标签: android react-native gps react-native-android android-gps


    【解决方案1】:

    引用自图书馆的github 页面:

    目前,在 Android 上,它使用 android.location API。 Google 不推荐使用此 API,因为它不如推荐的 Google Location Services API 准确且速度较慢。这是我们希望在不久的将来改变的东西https://github.com/react-native-community/react-native-geolocation/issues/6

    自述文件中还有一些库建议,它们实际上使用了 Google 位置服务 API。我使用了react-native-location,但是这个包不再被积极维护,所以我切换到react-native-geolocation-service,它有一个与你已经在使用的非常相似的API,更具体地说是getCurrentPosition

    也许你应该试一试。

    【讨论】:

      【解决方案2】:

      react-native-community/geolocation 不使用更准确的 Google 位置服务 API,如 readme 中所述

      推荐的用于 RN Android 的 GPS 定位库(也是我使用的那个)是 react-native-geolocation-service。它的自述文件还提到了timeout issue,这让我想知道它是否和你的一样:

      创建此库是为了修复位置超时 android上的问题与react-native的当前实现 地理位置 API。这个库试图通过使用谷歌来解决这个问题 Play Service 的新 FusedLocationProviderClient API,Google 强烈推荐超过 android 的默认框架位置 API。它 根据您的请求自动决定使用哪个提供商 配置,如果它还提示您更改位置模式 不满足您当前的请求配置。

      所以如果我是你,我会试一试。该 API 旨在替代您使用的库,因此迁移应该只是更改包的问题。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多