高德地图API获取的经纬度转为百度地图经纬度显示

本文介绍了一种将高德地图的经纬度坐标转换为百度地图可用坐标的算法,解决了两者因加密处理导致的位置偏差问题。通过数学运算,实现了在百度地图上的精准定位。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

通过高德地图API获取的经纬度显示在百度地图上会有位置的偏差,原因是百度地图对经纬度进行了加密,通过以下方法对经纬度进行转换可在百度地图上精准显示

private double[] gaoDeToBaidu(double gd_lon, double gd_lat) {
    double[] bd_lat_lon = new double[2];
    double PI = 3.14159265358979324 * 3000.0 / 180.0;
    double x = gd_lon, y = gd_lat;
    double z = Math.sqrt(x * x + y * y) + 0.00002 * Math.sin(y * PI);
    double theta = Math.atan2(y, x) + 0.000003 * Math.cos(x * PI);
    bd_lat_lon[0] = z * Math.cos(theta) + 0.0065;//经度
    bd_lat_lon[1] = z * Math.sin(theta) + 0.006;//纬度
    return bd_lat_lon;
}

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值