今天项目中遇到了服务端发的是百度地图的坐标,显示在高德地图上,在地图上位置偏差太大,就要把百度地图的坐标转换成高德的地图坐标,就在高德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; }可以根据实际来进行选择,到这就完成了坐标转换。