浏览器版本低!无法浏览完整内容,建议升级或更换浏览器。
坐标转换
下载开发文档
坐标知识介绍

国内主流坐标系类型

主要有以下三种
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坐标类型,全应用内自动执行从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坐标,开发者在使用百度地图相关服务时,请注意选择。

上一篇

地图收藏夹

下一篇

调起百度地图功能

本篇文章对您是否有帮助?