高德百度腾讯之间经纬度的转换

1 篇文章 0 订阅
1 篇文章 0 订阅

高德百度腾讯之间经纬度的转换



前言

提示:这里可以添加本文要记录的大概内容:

 常用地图转换工具类(各个地图API采用的坐标系(WGS84坐标系:即地球坐标系,国际上通用的坐标系。谷歌地图用此坐标
 百度地图API                 百度坐标 (BD09坐标系:即百度坐标系,GCJ02坐标系经加密后的坐标系。
  腾讯搜搜地图API            火星坐标 (GCJ02坐标系:即火星坐标系,WGS84坐标系经加密后的坐标系。
  阿里云地图API             火星坐标 (GCJ02坐标系:即火星坐标系,WGS84坐标系经加密后的坐标系。
  高德MapABC地图API        火星坐标 (GCJ02坐标系:即火星坐标系,WGS84坐标系经加密后的坐标系。

提示:以下是本篇文章正文内容,下面案例可供参考

一、正文

1.直接上代码

public class LngLonUtil {
    /**
     * 坐标转换,腾讯地图转换成百度地图坐标
     * @param latitude 腾讯纬度
     * @param longitude 腾讯经度
     * @return 返回结果:经度,纬度
     */
    public static String map_tx2bd(double longitude, double latitude){
        double bd_lat;
        double bd_lon;
        double x_pi=3.14159265358979324;
        double x = longitude, y = latitude;
        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);
        bd_lon = z * Math.cos(theta) + 0.0065;
        bd_lat = z * Math.sin(theta) + 0.006;

        System.out.println("bd_lat:"+bd_lat);
        System.out.println("bd_lon:"+bd_lon);
        return bd_lon+","+bd_lat;
    }


    /**
     * 坐标转换,百度地图坐标转换成腾讯地图坐标
     * @param latitude  百度坐标纬度
     * @param longitude  百度坐标经度
     * @return 返回结果:纬度,经度
     */
    public static String map_bd2tx(double longitude, double latitude){
        double tx_lat;
        double tx_lon;
        double x_pi=3.14159265358979324;
        double x = longitude - 0.0065, y = latitude - 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);
        tx_lon = z * Math.cos(theta);
        tx_lat = z * Math.sin(theta);
        return tx_lat+","+tx_lon;
    }
    /**
     * 常用地图转换工具类(各个地图API采用的坐标系(WGS84坐标系:即地球坐标系,国际上通用的坐标系。谷歌地图用此坐标
     * 百度地图API                 百度坐标 (BD09坐标系:即百度坐标系,GCJ02坐标系经加密后的坐标系。
     * 腾讯搜搜地图API            火星坐标 (GCJ02坐标系:即火星坐标系,WGS84坐标系经加密后的坐标系。
     * 阿里云地图API             火星坐标 (GCJ02坐标系:即火星坐标系,WGS84坐标系经加密后的坐标系。
     * 高德MapABC地图API        火星坐标 (GCJ02坐标系:即火星坐标系,WGS84坐标系经加密后的坐标系。
     * @param args
     */
    public static void main(String[] args) {
        String s = map_bd2tx(112.523872, 37.862986);
        System.out.println(s);
    	}
    }

结果图

百度地图:在这里插入图片描述高德地图:
在这里插入图片描述
腾讯地图
在这里插入图片描述
最后转换结果
在这里插入图片描述

总结

可知,高德和腾讯使用的编码方式是一样的,所以最后转换的经纬度基本一样

  • 4
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值