以文本方式查看主题

-  曙海教育集团论坛  (http://peixun0.cn/bbs/index.asp)
--  软件测试  (http://peixun0.cn/bbs/list.asp?boardid=70)
----  Rom 2.57+Google Maps 3.1.2 地图偏移技术讨论贴  (http://peixun0.cn/bbs/dispbbs.asp?boardid=70&id=2679)

--  作者:wangxinxin
--  发布时间:2010-12-15 16:37:08
--  Rom 2.57+Google Maps 3.1.2 地图偏移技术讨论贴
1、国内电子地图
授权出版的国内地图,经过人为引入误差,未经任何处理的民用GPS软件上,看到的位置与实际地理坐标位置有几百米的误差。因为国内电子软件内部有误差纠正算法,所以用户感觉不到。也就是"你知道你在哪个地点,但是不知道你在哪个地理坐标上"。这些软件可以叫做“河蟹GPS软件”。

2、未经授权在国内发布的GPS软件,Google Maps就是属于此类
海外版本GPS软件(暂时叫海蟹GPS软件),并没有国内的误差纠正算法,所以,在该软件上看国内出版的地图时,就出现“你知道你在哪个地理坐标上,但是不知道你在哪个地点”。

我的测试环境及结果

经过我的测试:
Google Maps 3.1.1:
ROM 2.2 定位准确,前提是 MCC代码必须设为 460。

Google Maps 3.1.2:
ROM 2.2/2.55/2.57 均出现偏移,无论MCC代码必须设为 460与否。

那么ROM2.2+Google Maps 3.1.1版本为什么定位准确?

经过我的分析,初步判断 Google Maps 处理中国移动/联通手机的请求(MCC国家编码 460)时,在服务器端或者本地端进行纠偏。

ROM2.57+Google Maps 3.1.2 定位偏差的纠正问题的分析

ROM 和 Google Maps 必须匹配某种组合,才能让Google Maps 正确处理 MCC为 460 的定位请求。这种组合可能涉及到:
A) ROM 对坐标的处理算法模块;
B) Google Maps 处理坐标的算法。

如果是 A) 的情形,通过 Patch ROM 还是可以纠偏。如果是 B),则只有依赖 Google Maps 的版本修改了。

也就是说,定位不准是由于ROM或者Google Maps程序引起的,与Google Maps服务器无关。

以上纯属简单分析后的猜测,有更熟悉的朋友请指正。