Heim >Backend-Entwicklung >PHP-Tutorial >百度地图经纬度转换到腾讯地图/Google 对应的经纬度_PHP

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

WBOY
WBOYOriginal
2016-05-30 08:44:333247Durchsuche

实现目的:将百度地图经纬度 转换到 腾讯地图/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://api.map.baidu.com/lbsapi/getpoint/
     http://lbs.qq.com/javascript_v2/case-run.html#sample-geocoding-reverse  

总结:

     由于腾讯的经纬度和google经纬度是同一个坐标系,百度经纬度为自己的体系,目前网上搜索到的算法代码,都不是十分精确,所以建议使用地图开发方提供的Api进行转换.

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn