java地图坐标转换

实现代码

public class gpsUtil {
    private static double x_pi = 3.14159265358979324 * 3000.0 / 180.0;

    /**
     * GCJ02腾讯地图坐标转BD09百度坐标
     * */
    public static double[] TXToBD(int lat,int lng){

        double z =Math.sqrt(lng * lng + lat * lat) + 0.00002 * Math.sin(lat * x_pi);
        double theta = Math.atan2(lat, lng) + 0.000003 * Math.cos(lng * x_pi);
        double toLng =  (z * Math.cos(theta) + 0.0065);
        double toLat = (z * Math.sin(theta) + 0.006);

        double gps[]= new double[2];

        gps[0] = toLat;
        gps[1] = toLng;
        return gps;
    }
    /**
     * 百度地图BD09坐标---->中国正常GCJ02坐标,腾讯地图用的也是GCJ02坐标
     * */
    public static double[] BDToTX(double lat,double lng){
        double x = lng - 0.0065;
        double y = lat - 0.006;

        double z = Math.sqrt(x * x + y * y) - 0.00002 * Math.sin(y * x_pi);

        double theta = Math.atan2(y, x) - 0.000003 * Math.cos(x * x_pi);

        double toLng = z * Math.cos(theta);

        double toLat = z * Math.sin(theta);

        double gps[]= new double[2];
        gps[0] = toLat;
        gps[1] = toLng;
        return gps;
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一曲末

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值