国内主流坐标系类型
主要有以下三种
1. WGS84:一种大地坐标系,也是目前广泛使用的GPS全球卫星定位系统使用的坐标系。
2. GCJ02:由中国国家测绘局制订的地理信息系统的坐标系统,是由WGS84坐标系经过加密后的坐标系。
3. BD09:百度坐标系,在GCJ02坐标系基础上再次加密。其中BD09LL表示百度经纬度坐标,BD09MC表示百度墨卡托米制坐标。
注意:百度地图SDK在国内(包括港澳台)使用的是BD09LL坐标(定位SDK默认使用GCJ02坐标);在海外地区,统一使用WGS84坐标。开发者在使用百度地图相关服务时,请注意选择。
百度地图SDK是用什么坐标类型?
1. 国内(包括港澳台),输入、输出默认使用BD09LL坐标。支持全局声明为GCJ02坐标类型,全应用支持输入GCJ02坐标,返回GCJ02坐标。
2. 海外地区,输出为WGS84坐标。
为什么需要坐标转换?
国内(包括港澳台):默认使用BD09LL坐标,国外使用WGS84坐标。若使用非BD09LL坐标直接叠加在百度地图上,因坐标值不同,展示位置会有偏移。
因此:
1)在国内(包括港澳台)通过其他坐标系(WGS84、GCJ02)调用百度地图服务时需要首先将其他坐标转换为BD09LL,再访问百度地图数据。
2)在国外,POI使用WGS84坐标数值,则无需转换、百度地图国外即使用WGS84坐标。
非百度坐标系,如何转换成百度坐标系?
1. 通用坐标转换方法: 手动调用百度地图SDK坐标转换接口,将输入的WGS84或GCJ02坐标转换为BD09LL坐标。适用于所有百度地图开发者,是转换为百度BD09LL坐标的官方基础算法。
2. 自动坐标转换算法:支持全局声明为GCJ02坐标类型,全应用内自动执行从GCJ02到BD09LL的坐标转换,即直接输入GCJ02坐标,返回GCJ02坐标。
开发者可以手动调用百度地图SDK坐标转换接口,将输入的WGS84或GCJ02坐标转换为BD09LL坐标。如未对坐标参数进行设置,默认使用BD09LL坐标系。
注意:请勿使用其他非百度地图SDK提供的坐标转换方法!!!
其他坐标转换百度经纬度坐标BD09LL
将google地图、高德地图、腾讯地图、搜狗地图所用坐标转换成百度地图坐标
//初始化左边转换工具类,指定源坐标类型和坐标数据//sourceLatLng 待转换坐标CoordinateConverter converter = new CoordinateConverter().from(COMMON).coord(sourceLatLng);//转换坐标LatLng desLatLng = converter.convert();
将GPS设备采集的原始GPS坐标转换成百度坐标
//初始化坐标转换工具类,指定源坐标类型和坐标数据// sourceLatLng待转换坐标CoordinateConverter converter = new CoordinateConverter().from(CoordinateConverter.CoordType.GPS).coord(sourceLatLng);//desLatLng 转换后的坐标LatLng desLatLng = converter.convert();
百度墨卡托坐标转百度经纬度坐标(BD09MC转BD09LL)
//初始化坐标转换工具类,设置源坐标类型和原坐标数据CoordinateConverter converter = new CoordinateConverter().from(BD09MC).coord(sourceLatLng);//转换坐标LatLng desLatLng = converter.convert();
支持全局声明为GCJ02坐标类型,全应用内自动执行从GCJ02到BD09LL的坐标转换,即直接输入GCJ02坐标,返回GCJ02坐标。
声明全局声明坐标类型
//自4.3.0起,百度地图SDK所有接口均支持百度坐标和国测局坐标,用此方法设置您使用的坐标类型.//包括BD09LL和GCJ02两种坐标,默认是BD09LL坐标。SDKInitializer.setCoordType(CoordType.GCJ02);
获取当前使用的坐标类型
SDKInitializer.getCoordType();//BD09LL或者GCJ02坐标
自动坐标转换方法仅适用于国内(包括港澳台)输入坐标为GCJ02坐标的情况。
百度地图国外即使用WGS84坐标,如需要支持海外地图,直接使用WGS84坐标访问即可,无需转换。如需要同时访问国内和国外数据,自动坐标转换方法不适用。
百度地图SDK在国内(包括港澳台)使用的是BD09LL坐标(定位SDK默认使用GCJ02坐标);在海外地区,统一使用WGS84坐标,开发者在使用百度地图相关服务时,请注意选择。
上一篇
下一篇
本篇文章对您是否有帮助?