以前我一直以为Google手机地图是在客户端程序内置有矫偏算法的,看了dongmeng110的blog(已被关闭)才知道Google地图偏移其实是有接口可以取到的。给定经纬度坐标,返回地图tile的偏移像素值。http://ditu.google.cn/maps/vp?spn=0.0,0.0&z=18&vp=39.111195,117.148067
(已失效)。
没想到居然就是直接从服务器取,这样所有的偏移量其实都是公开的了。
接下来,我对偏移数据做了一些分析。纵坐标是18级地图的偏移量。
首先是较小尺度,在经纬度1度的范围内每0.01度取得一个偏移值。
图一:纬度不变,经度1度变化范围内,偏移量的变化(横坐标数字为经度0.01度)

图二,与图一相同的数据,可以看出偏移在平面上的变化

图三,经度不变,纬度1度变化范围内,偏移量的变化(横坐标数字为纬度0.01度)。可见偏移量变化不如经度变化时大。

图四,与图三相同的数据,可以看出偏移在平面上的变化

图五,经度纬度均1度范围内,偏移在平面上的变化。其实是图二与图四“相乘”的结果。

接下来从大尺度上看看。
图六,北纬40度的纬线上偏移值变化图,横坐标为经度。看得出以经度1度为周期呈现出一定的规律性,在y向偏移量上特别明显。

图七,东经116度的经线上偏移值变化图,横坐标为纬度。这个就没有奇怪的小波动了,而且x向偏移似乎可以非常理想的用二次曲线来拟合。

图八,刚才在图六中发现纬线上的偏移值呈现出规律性,这里放大来看看。很明显是以1度为周期的。

暂无结论。请看Google中国地图偏移 (续)。