今天项目中遇到了服务端发的是百度地图的坐标,显示在高德地图上,在地图上位置偏差太大,就要把百度地图的坐标转换成高德的地图坐标,就在高德API官网搜到了,自己写出来记录一下,各位大神勿喷,下面上代码。
LatLng sourceLatLng = new LatLng(Double.valueOf(paieInfo.latitude), Double.valueOf(paieInfo.longitude));
CoordinateConverter converter = new CoordinateConverter(getContext());
// CoordType.GPS 待转换坐标类型
converter.from(CoordinateConverter.CoordType.BAIDU);
// sourceLatLng待转换坐标点 LatLng类型
converter.coord(sourceLatLng);
// 执行转换操作
LatLng desLatLng = converter.convert();
因为我是要把百度的转换为高德,上面的 CoordinateConverter.CoordType 可以根据实际情况进行选择,
下面附上选择的种类,也是代码里面有的,在这先粘出来
public static enum CoordType {
BAIDU,
MAPBAR,
GPS,
MAPABC,
SOSOMAP,
ALIYUN,
GOOGLE;
}
可以根据实际来进行选择,到这就完成了坐标转换。