Android gps 位置的真实精度很差

标签 android gps

我在使用以下代码配置的 LocationListener 中获取位置:

LocationManager locationManager = (LocationManager) this.getSystemService(Context.LOCATION_SERVICE);
locationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 60000, 5.0, locationListener);
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 60000, 5.0, locationListener);

我得到的位置经常是不准确的。 “gps”提供商的位置精度约为 10-20 m,但实际上可能约为 500 m。在 native Android 应用程序 Google map 中,我看到我的位置足够准确。

我怀疑 Google 使用了其他 API。在 Android 中是否有另一种获取位置的方法?

  • 操作系统:Android 4.4
  • 智能手机型号:Doogee Voyager 2 DG310

最佳答案

Google 应用程序使用名为“Fused Location Provider”(read more here) 的专有提供程序。该提供商仍然使用后台存在的网络和 GPS 提供商。

大多数情况下,网络提供商的第一个定位精度会超过 1000 米,因为它来自 BTC(手机信号塔)。几秒钟后,基于 Wi-Fi 的准确度应降至 20-50 米左右。 GPS 提供的位置通常最大精度为 20 米,但当您位于人口稠密的地区且建筑物高大且与 GPS 卫星的连接不良时,精度可能会增加。

我最近发现了 Smart Location Library它应该提供对 GPS、网络或融合供应商的轻松访问,并结合 Activity 识别以减少电池消耗。

关于Android gps 位置的真实精度很差,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27345334/

相关文章:

java - 改造:由以下原因引起:java.lang.IllegalArgumentException:无法找到 CustomClass 的调用适配器

Android sqlite 和多个查询

android - 等到 GPS 启用后再获取 FusedLocationAPI 中的纬度和经度值

java - 在 Android 设备中切换 Wifi 状态

php - 如何使用 php 向 gps 跟踪器发送命令

android - 如何在实时移动 map 时从android map 中心获取gps坐标

java - 在Webview中调用onBackPressed方法时,它会停止缓存

android - 允许在 Android Webview + jquery mobile 中进行远程 ajax 调用

python - 是否有用于 Python 的 GPS 库?

android - 以编程方式创建 LayoutInflater 或 View