关于地图的坐标系

 我来答
会哭的礼物17
2022-07-14 · TA获得超过1.2万个赞
知道大有可为答主
回答量:6015
采纳率:100%
帮助的人:33万
展开全部
1)GPS以及 iOS 系统定位获得的坐标是地理坐标系WGS1984;

2)Web地图一般用的坐标细是投影坐标系WGS 1984 Web Mercator;

3)国内出于相关法律法规要求,对国内所有GPS设备及地图数据都进行了加密偏移处理,代号GCJ-02,这样GPS定位获得的坐标与地图上的位置刚好对应上;

4)特殊的是百度地图在这基础上又进行一次偏移,通称Bd-09;

所以以在处理系统定位坐标及相关地图SDK坐标时需要转换处理下,根据网络资源,目前有一些公开的转换 算法 。

1.坐标的转换逻辑

1)<CoreLocation/CoreLocation.h> 中提供的CLLocationManager类获取的坐标是WGS1984坐标,这种坐标显示在原生地图(国内iOS原生地图也是用的高德)、谷歌地图或高德地图需要进行WGS1984转GCJ-02计算,苹果地图及谷歌地图用的都是高德地图的数据,所以这三种情况坐标处理方法一样,即

2)在高德地图中获取的坐标是已经转换成GCJ-02的坐标,这时候的坐标无需转换可以直接显示到地图上的正确位置。

注意点:若此时要对获取的坐标使用CLGeocoder类提供的方法- (void)reverseGeocodeLocation:(CLLocation*)location completionHandler:(CLGeocodeCompletionHandler)completionHandler转码成中文地理位置,就得先将GCJ-02的坐标转换成WGS1984坐标,然后再进行中文地址转码,因为CLGeocoder也是CoreLocation中的类,同样使用的是WGS1984坐标。

3)同理,百度地图显示需要先将坐标转换为Bd-09坐标。

如果使用的是百度sdk那么可以获得百度坐标(bd09)或者火星坐标(GCJ02),默认是bd09

如果使用的是ios的原生定位库,那么获得的坐标是WGS84

如果使用的是高德sdk,那么获取的坐标是GCJ02

火星坐标系:iOS地图(其实是高德)Gogole地图搜搜、阿里云、高德地图

百度坐标系:当然只有百度地图

WGS84坐标系:国际标准,谷歌国外地图、osm地图等国外的地图一般都是这个
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
长荣科机电
2024-10-27 广告
直角坐标机器人,作为深圳市长荣科机电设备有限公司的明星产品之一,以其高精度、高稳定性在自动化生产线上发挥着关键作用。该机器人采用直线电机或精密导轨驱动,能在电商平台Y、Z三个直角坐标轴上实现精准定位与运动控制,广泛应用于电子装配、包装、检测... 点击进入详情页
本回答由长荣科机电提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式