如何修复在为 Google 地图编码折线时失去精度的问题



我找到了这个引用良好的页面 为谷歌地图编码折线.我已经在我的应用程序中实现了他们的算法来编码和解码折线,但我在保持坐标精度方面遇到了一些问题。

我的折线有这些坐标:

57.012415241636155, 9.99178024863532
57.012422477487256, 9.991334773101812
57.01190974033057, 9.99068645350514

如果我使用他们的编码器对它们进行编码,我会得到这个编码的折线:

qf~zIso~{@AxAfB`C

如果我之后尝试使用他们的解码器解码这个编码字符串,我会得到这些坐标:

57.01241, 9.99178
57.012420000000006, 9.991330000000001
57.011900000000004, 9.990680000000001

为什么我的坐标精度会丢失?我需要我的编码折线更精确。

你正在失去精度,因为编码会这样做。

但是,您肯定不需要这种精度。(57.012410, 9.991780) 和 (57.012411, 9.991781) 之间的距离(小数点后第六位为 1)为 12 厘米。小数点后第五位的每个数字大约是一米。地图不是那么准确。

最新更新