【问题标题】:Emulator rounds off latitude and longitude to 4 decimal places模拟器将纬度和经度四舍五入到小数点后 4 位
【发布时间】:2018-04-26 10:11:15
【问题描述】:

模拟器中报告的纬度和经度与我发送的值的精度不匹配。

当我使用的特定纬度/经度显示海洋时,我注意到了这一点。

如何获得更好的精度?

【问题讨论】:

  • 代码在哪里?
  • 什么代码?我在窗口中输入值,按“发送”,“当前报告的位置”中的值被四舍五入。

标签: android google-maps


【解决方案1】:

我发现即使“当前报告的位置”中显示的值四舍五入到小数点后 4 位 - 收到的实际位置值(使用带有模拟器的融合提供程序)至少输入到小数点后 6 位:

和位置日志:

onLocationChanged: Location[fused 37.422435,-122.084330 hAcc=23 et=+6d18h26m58s725ms alt=0.0 vAcc=47 sAcc=??? bAcc=??? {Bundle[mParcelledData.dataSize=52]}]

也许收集更多数据并发布将有助于找到您的问题。

此外,即使四舍五入到小数点后 4 位,在最坏的情况下也会产生 11 米的误差。

有趣的是,虽然精确到小数点后 6 位,但在使用模拟器发送一个位置更新后,锁定该值可能需要一整分钟 - 这里之前的位置纬度是 37.422730,而在模拟器中的位置是发送了 37.422234 的纬度:

  04-26 01:48:32.761 3232-3232/ onLocationChanged: Location[fused 37.422730,-122.084330 hAcc=15 et=+6d18h39m43s985ms vAcc=??? sAcc=??? bAcc=???]
  04-26 01:48:34.814 3232-3232/ onLocationChanged: Location[fused 37.422568,-122.084330 hAcc=13 et=+6d18h39m48s986ms alt=0.0 vAcc=27 sAcc=??? 
  04-26 01:48:42.846 3232-3232/ onLocationChanged: Location[fused 37.422422,-122.084330 hAcc=14 et=+6d18h39m54s56ms vAcc=??? sAcc=??? bAcc=???]
  04-26 01:48:44.890 3232-3232/ onLocationChanged: Location[fused 37.422322,-122.084330 hAcc=13 et=+6d18h39m59s71ms vAcc=??? sAcc=??? bAcc=???]
  04-26 01:48:52.849 3232-3232/ onLocationChanged: Location[fused 37.422305,-122.084330 hAcc=14 et=+6d18h40m4s89ms vAcc=??? sAcc=??? bAcc=???]
  04-26 01:48:54.921 3232-3232/ onLocationChanged: Location[fused 37.422267,-122.084330 hAcc=13 et=+6d18h40m9s116ms vAcc=??? sAcc=??? bAcc=???]
  04-26 01:49:02.908 3232-3232/ onLocationChanged: Location[fused 37.422261,-122.084330 hAcc=14 et=+6d18h40m14s143ms vAcc=??? sAcc=??? bAcc=???]
  04-26 01:49:05.006 3232-3232/ onLocationChanged: Location[fused 37.422246,-122.084330 hAcc=13 et=+6d18h40m19s177ms vAcc=??? sAcc=??? bAcc=???]
  04-26 01:49:12.982 3232-3232/ onLocationChanged: Location[fused 37.422244,-122.084330 hAcc=14 et=+6d18h40m24s193ms vAcc=??? sAcc=??? bAcc=???]
  04-26 01:49:15.010 3232-3232/ onLocationChanged: Location[fused 37.422238,-122.084330 hAcc=13 et=+6d18h40m29s230ms vAcc=??? sAcc=??? bAcc=???]
  04-26 01:49:23.037 3232-3232/ onLocationChanged: Location[fused 37.422237,-122.084330 hAcc=14 et=+6d18h40m34s259ms vAcc=??? sAcc=??? bAcc=???]
  04-26 01:49:25.072 3232-3232/ onLocationChanged: Location[fused 37.422235,-122.084330 hAcc=13 et=+6d18h40m39s275ms vAcc=??? sAcc=??? bAcc=???]
  04-26 01:49:33.079 3232-3232/ onLocationChanged: Location[fused 37.422235,-122.084330 hAcc=14 et=+6d18h40m44s302ms vAcc=??? sAcc=??? bAcc=???]
  04-26 01:49:35.135 3232-3232/ onLocationChanged: Location[fused 37.422234,-122.084330 hAcc=13 et=+6d18h40m49s319ms vAcc=??? sAcc=??? bAcc=???]

这显然是融合提供者进行一些平滑或平均的功能。

在 Nexus 5 和 Pixel 2 模拟器上进行了尝试,结果相同。

【讨论】:

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