1

我找到了这个引用良好的页面Encoding polylines for Google Maps。我已经在我的应用程序中实现了他们用于编码和解码折线的算法,但是我在保持坐标精度方面遇到了一些问题。

我的折线有这些坐标:

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

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

4

1 回答 1

2

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

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

于 2012-04-18T10:41:11.423 回答