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服務器無關。
以上純屬簡單分析后的猜測,有更熟悉的朋友請指正。