百度地图经纬度转换到腾讯地图/Google 对应的经纬度

5年以前  |  阅读数:785 次  |  编程语言:PHP 

实现目的:将百度地图经纬度 转换到 腾讯地图/Google 对应的经纬度.

方法1:使用代码进行转换

存在的问题:转换之后误差大,基本不可用


    public static void Convert_BD09_To_GCJ02(double lat, double lng) {
          double x_pi = Math. PI * 3000.0 / 180.0;
          double x = lng - 0.0065, 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);
          lng = z * Math. cos(theta );
          lat = z * Math. sin(theta );

          System. out.println(lng);
          System. out.println(lat);
    }

方法2:

该网站提供转换服务,坐标较为准确,可用,后台调用没有仔细研究

http://www.minigps.net/convert.html

方法3:

使用腾讯地图,详见1.html

腾讯地图老版的地址:http://api.map.soso.com/doc_v2/example.html?sample-convertor-library#12map

最新的地址:http://lbs.qq.com/javascript_v2/doc/convertor.html

直接调用的地址<百度地图转为腾讯地图>,points=经纬度,传入百度的即可:

 [http://apic.map.qq.com/translate/?type=3&points;=114.041993,22.667204&output;=jsonp&pf;=jsapi&cb;=qq.maps.__svcbi1x9al56.cbi1x9al9l0](http://apic.map.qq.com/translate/?type=3&points=114.041993,22.667204&output=jsonp&pf=jsapi&cb=qq.maps.__svcbi1x9al56.cbi1x9al9l0)

坐标查询地址:

[http://api.map.baidu.com/lbsapi/getpoint/  
 http://lbs.qq.com/javascript_v2/case-run.html#sample-geocoding-reverse](http://  http://api.map.baidu.com/lbsapi/getpoint/)     

总结:

 由于腾讯的经纬度和google经纬度是同一个坐标系,百度经纬度为自己的体系,目前网上搜索到的算法代码,都不是十分精确,所以建议使用地图开发方提供的Api进行转换.
 相关文章:
PHP分页显示制作详细讲解
SSH 登录失败:Host key verification failed
获取IMSI
将二进制数据转为16进制以便显示
获取IMEI
文件下载
贪吃蛇
双位运算符
PHP自定义函数获取搜索引擎来源关键字的方法
Java生成UUID
发送邮件
年的日历图
提取后缀名
在Zeus Web Server中安装PHP语言支持
让你成为最历害的git提交人
Yii2汉字转拼音类的实例代码
再谈PHP中单双引号的区别详解
指定应用ID以获取对应的应用名称
Python 2与Python 3版本和编码的对比
php封装的page分页类完整实例