目前国内主流坐标系类型主要有三种: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];
上一篇
下一篇
本篇文章对您是否有帮助?