Bad/poor Android 使用 React Native 的 GPS 定位精度

Bad/poor GPS location accuracy on Android with React Native

我正在开发一个 React Native 应用程序,它可以在 Android 和 iPhone 上运行。我有一个功能,您可以“分享我的当前位置”。这在 iPhone 上非常有效且准确,但在 Android 上它只显示正确的 city/locality,但实际位置离您的街道很远。为了获取位置,我使用 https://github.com/Agontuk/react-native-geolocation-service 库。

这里是相关代码,我只是调用Geolocation.getCurrentPosition,没有做任何特别的事情。我要求选项的准确性很高。关于如何提高 Android 的准确性的任何想法?

编辑: 如果我在同一个 Android phone 上打开 Google 地图,我会得到 accurate/correct 位置。

          Geolocation.getCurrentPosition(
            (position) => {
              // Do stuff with the position
            },
            (error) => {
              // See error code charts below.
              logError(
                new Error(
                  `Cannot get current location: ${error.code} ${error.message}`,
                ),
              );
            },
            {
              enableHighAccuracy: true,
              accuracy: {
                android: 'high',
                ios: 'bestForNavigation',
              },
              timeout: 15000,
              maximumAge: 10000,
              distanceFilter: 10,
            },
          );
        }
      },```

我发现问题出在我的 AndroidManifest.xml 中没有 ACCES_FINE_LOCATION 权限。这有点令人困惑,因为这并没有导致任何实际错误,它只是没有给出准确的位置。

所以只需将其添加到清单文件

<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />