测试设备:
> 1. Lumia 930 (Snapdragon 800 with Qualcomm® IZat™ Gen8B)
> 2. Moto G XT1042 (Snapdragon 400 with Qualcomm® IZat™ Gen8A)
注:8A 8B 的区别考虑到两者是同时期产品,在数据方面应该不会有太大差距。(在实际测试中,8A的室内定位速度较慢)
另:均为水货手机,国行是否在 GPS 模块内动手脚有待测试。
1. 为什么有偏移?
国内的地图数据是以 火星坐标系 (GCJ) 所呈现的,使得设备硬件所返回的参数值 (WGS 标准) 无法正常对应。
2. 国内地图软件为何不偏移?
实际上仍然有偏移的存在(下图为腾讯地图,图一为 QQ 内置的定位图钉为真实位置,图二为腾讯地图app,第一个定位点与 QQ 内置相同,但随后经过几次漂移到达正确位置)
每家地图的数据其实都不太一样
注:谷歌地图坐标为真实地理坐标(由度分秒精确转换得来)。
另:国内地图不允许出现 度分秒甚至度数。
3. Windows Phone 平台定位有何问题?
其实和 Android 平台上差不多。但由于缺乏第三方地图应用,所以显得格外不方便(只有使用 GMap 或者网页版才能修正偏移)。
只有在装上【Windows地图中国导航】后才能在自带的地图软件内修正偏移(部分地区仍有漂移),但第三方软件均无法修正偏移(甚至是 运动数据的轨迹记录、手机位置定位、Microsoft Healthy 记录)
这些偏移量在 Android 和 Windows Phone 是完全一致的。
4. 两个平台的区别
虽然说即便是偏移也偏的一致,但这两个平台在处理定位数据的时候仍有很大不同。
Windows Phone 端:
先用一个形容词:诡异。
通过第三方软件获得到 GPS 信号数据(WGS)可以说是毫秒级别的,然而在内置的地图应用中可以秒定位到修正位置,但是一秒之后位置反而偏移回去了,等再次修正完成居然需要等上半分钟,而且期间位置信息在地图上的漂移非常大。
但这只是诡异的开始,倘若关闭 Wlan, Bluetooth, 移动数据,反而可以做到秒定位且不再漂移。这就非常反常了。所以正确的姿势需要改成:先关闭所有网络,进入地图应用后重新打开网络。
这很微软。
Android 端:
还是先用一个形容词:良莠不齐。
每个地图应用都有自己的算法,但都有一个特点:离线状态慢的发指(直接使用 GPS 数据的除外,但都是漂移的)。所以会在检测到离线的时候提示开启数据或者 Wlan。