目前国内主流坐标系类型主要有三种:wgs84、gcj02、bd09;
wgs84
为一种大地坐标系,也是目前广泛使用的gps全球卫星定位系统使用的坐标系;
gcj02
是由中国国家测绘局制订的地理信息系统的坐标系统,是由wgs84坐标系经加密后的坐标系;
bd09
百度坐标系,在gcj02坐标系基础上再次加密。其中bd09ll表示百度经纬度坐标,bd09mc表示百度墨卡托米制坐标。
百度地图的服务,国内(包括港澳台)使用bd09坐标,国外使用wgs84坐标。若使用非bd09坐标直接叠加在百度地图上,因坐标值不同,展示位置就会偏移。
例如:
开发者可以自行转换坐标类型,支持wgs84ll->bd09ll, gcj02ll->bd09ll, bd09ll->gcj02ll的经纬度坐标转换。
转换方法如下:
//坐标转换需导入工具功能包baidumapapi_utils.framework#import<baidumapapi_utils/bmkutilscomponent.h>// 国测局坐标类型的原始坐标cllocationcoordinate2d gcj02coord =cllocationcoordinate2dmake(39.90868,116.3956);// 转为百度经纬度类型的坐标cllocationcoordinate2d bd09coord =bmkcoordtrans(gcj02coord,bmk_coordtype_common,bmkcoordtype_bd09ll);
全局设置地图sdk与开发者交互时的坐标类型。地图sdk默认使用bd09ll(bmk_coordtype_bd09ll)坐标。如需使用gcj02坐标,传入参数值为bmk_coordtype_common即可。本方法不支持传入wgs84(bmk_coordtype_gps)坐标。
设置方法如下:
//设置为gcj02坐标[bmkmapmanager setcoordinatetypeusedinbaidumapsdk:bmk_coordtype_common];
上一篇
下一篇
本篇文章对您是否有帮助?