1
palxex 2014-12-06 14:00:51 +08:00
- -都不是,是在座标层做的。简单来说,你能拿到的国内地图测绘数据,统统是偏移过的。只有通过某个资质认证拿到偏移算法反过来做一遍,才能得到原始座标。上面「反过来」这个流程通常是地图提供商在替你做。最后那个国外的问题,留作习题吧。
|
2
tony1016 OP @palxex 首先感谢,能在解释一下吗。因为正流程是:硬件把坐标传给系统,系统再把坐标传给调用接口的应用。既然国产手机,安装谷歌地图,直接就偏移了。那一定是传给谷歌的就是火星坐标,那我想知道,这个火星坐标的产生,是在硬件就完成了,还是miui或者flyme os这样的国产系统的系统层完成的?
|
4
willsplashing 2014-12-06 14:45:27 +08:00
传给google map的是正常GPS坐标,但是中国区的地图不是按照GPS坐标绘制的(学名叫GCJ-02坐标),所以就悲剧了
|
5
vertion 2014-12-06 14:50:02 +08:00
硬件回传的数据是正确的,但是国内地图数据的坐标是做过偏移处理的,拿到偏移算法,把火星坐标还原
回来是地图供应商做的事,google map产生了火星偏移是因为它没拿到偏移算法,直接就把偏移过了的地 图拿来用了,这不涉及硬件和软件层面的问题,是数据源的问题 应该是这个意思吧 |
6
garipan 2014-12-06 16:01:47 +08:00 via iPhone
意思就是因为国家机密方面的原因,禁止外国公司测绘中国大陆地图?
|
7
omi4399 2014-12-06 17:08:37 +08:00
google map从国内几家有资质的测绘公司(如高德)拿来的数据就是有偏移的,政策规定。
|
9
tony1016 OP 哦,也就是说谷歌用的还是中国的地图数据源啊,我以为谷歌自己绘制的
|
10
akin 2014-12-07 00:08:04 +08:00
tony,一般手机出来的是wgs84,然后国内所有地图(包括ditu.google.com)的地图数据,是gcj02的。所以不是手机硬件/系统层做,而是你要自己处理。如果自己不想处理,用百度/高德的定位sdk去处理即可。
|