我正在编写一个简单的 Android 应用程序来捕获用户的位置。
我正在使用 FusedLocationAPI 来提供位置。
mLocationRequest = LocationRequest.create()
.setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY)
.setInterval(5000)
.setFastestInterval(5000);
当用户按下按钮时,应用程序将首先检查最后一个已知位置。如果这不到一分钟并且精度小于 50m,则使用该位置。如果没有,应用程序会请求位置更新,直到接收到精度小于 50m 的位置。然后该应用程序停止请求更新,以帮助节省电池电量。
这在 99% 的情况下都非常有效。然而,在测试中,出现了一种情况,即对同一位置进行了两次读数,但报告的坐标之间的距离为 110m。我试图理解为什么。
读数 #1:在 10:46 拍摄,精度为 36m。
读数 #2:在 13:27 拍摄,精度为 26m。
用户在同一位置(约 2m 内)。我会假设,由于它们的位置处于精度边缘,点之间的距离最多只能为 52m。不知道为什么是110m
我错过了一些明显的东西吗?