百度地图与高德地图坐标转换

android项目使用了百度地图的定位SDK,web端使用的也是高德地图,发现安卓的定位提交到web显示总是有误差。后发现高德使用的坐标系是“gcj02”也就是大家所说的“火星坐标”,

百度使用的是“BD09”因为是百度所用大家习惯称之为“百度坐标”  ,如何将bd09转为gcj02呢,突然想到在百度的定位sdk里有这样一段说明(来自百度地图

1
2
3
4
5
6
7
8
设置返回值的坐标类型。
public void setCoorType ( String )
我们支持返回若干种坐标系,包括国测局坐标系、百度坐标系,需要更多坐标系请联系我们,需要深度合作。目前这些参数的代码为。因此需要在请求时指定类型,如果不指定,默认返回百度坐标系。注意当仅输入IP时,不会返回坐标。目前这些参数的代码为
 
返回国测局经纬度坐标系 coor=gcj02
返回百度墨卡托坐标系 coor=bd09
返回百度经纬度坐标系 coor=bd09ll
百度手机地图对外接口中的坐标系默认是bd09ll,如果配合百度地图产品的话,需要注意坐标系对应问题。

 

也就是说百度这个定位sdk应该是可以直接返回gcj02坐标的,这样就可以直接在高德上使用了 

代码如下

1
2
LocationClientOption option = new  LocationClientOption();
option.setCoorType( "gcj02" ); //如果是百度坐标参数为 bd0911

 

你可能感兴趣的:(百度地图)