为什么谷歌地图定位标记会偏移?
kuri.?
和Google在国内都是使用GCJ-02坐标系,可以说,GCJ-02是国内最广泛使用的坐标系。在地图上标注的经纬度拿到地图上直接描点就肯定会发生偏移。只考虑国内的情况,地图和Google地图是可以不经过转换也能够准确显示的(在国内用的都是GCJ-02坐标系)。
二、国内外网络
在国内标注的经纬度,然后在国外网络下显示也会发生偏移(谷歌和会依据网络的情况选择使用WGS-84坐标还是GCJ-02坐标,地图则一直使用bd-02坐标系)。
三、标注方式
在iOS标注的经纬度是通过GPS获取的,在Android则可以通过网络或GPS获取经纬度。通过地图SDK标注获取的经纬度,地图SDK会自动选择加密的方式(如Google地图会根据国内国外选择不同的坐标系)然后再将点显示在地图上,这个时候是没有偏移的。
如果直接将经纬度在地图上显示,可能就会因为地域或网络的问题导致使用的坐标系不同,进而发生来偏移。
扩展资料
1992年,《中华人民共和国测绘法》通过。其中规定,在没有我国政府的许可下自行绘制我国地图是非法的。
我国不是唯一一个对地理数据和测绘有很多限制的国家。德国也要求德国电信公司和互联网公司把所有数据储存在国境内,俄国也要求把所有包含俄国公民的数据库放置在俄国境内。
根据国家测绘地理信息局2018年4月3日的官方数据,只有14家公司得到了政府的许可,可以绘制我国地图。这14家公司都是中国公司。现在还没有外国公司被允许在我国绘制地图。所以,谷歌一类的外国公司想要我国地图的话,就必须要和我国政府许可的公司,比如地图合作。
现在世界上的绝大多数国家在绘制地图时,使用的是一种叫做 WGS84 的坐标体系。WGS是世界大地测量系统(World Geodesic System)的缩写,84是说这个系统是在1984年建立的。我国使用的是一套叫做 GCJ-02 的编码系统,俗称火星坐标系。
火星坐标系会把真实的 GPS 坐标放到一套算法里处理一下,让它们偏移一丢丢距离,这样出来的坐标就不是真实的 GPS 坐标了。
实际上,在谷歌地图里,街道地图的坐标和卫星地图之间相差50-500米不等,方位不定,雅虎地图什么的也差不多。
就这样,2006年开始,google.cn 把卫星地图也用火星坐标系系统调整了一下,让卫星地图和街道地图重合。
所以,现在如果在 google.cn 上卫星地图,就会发现它们看起来还“挺正常的”,但实际上,它们表示的依然不是真实的 GPS 坐标。
参考资料来源:-谷歌地图
baby girl
2021-09-23 17:38:02 988查看 1回答