欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

PHP腾讯地图经纬度转百度地图经纬度

程序员文章站 2022-06-08 17:29:57
...
  1. /**
  2. * 中国正常GCJ02坐标---->百度地图BD09坐标
  3. * 腾讯地图用的也是GCJ02坐标
  4. * @param double $lat 纬度
  5. * @param double $lng 经度
  6. */
  7. function Convert_GCJ02_To_BD09($lat,$lng){
  8. $x_pi = 3.14159265358979324 * 3000.0 / 180.0;
  9. $x = $lng;
  10. $y = $lat;
  11. $z =sqrt($x * $x + $y * $y) + 0.00002 * sin($y * $x_pi);
  12. $theta = atan2($y, $x) + 0.000003 * cos($x * $x_pi);
  13. $lng = $z * cos($theta) + 0.0065;
  14. $lat = $z * sin($theta) + 0.006;
  15. return array('lng'=>$lng,'lat'=>$lat);
  16. }
  17. /**
  18. * 百度地图BD09坐标---->中国正常GCJ02坐标
  19. * 腾讯地图用的也是GCJ02坐标
  20. * @param double $lat 纬度
  21. * @param double $lng 经度
  22. * @return array();
  23. */
  24. function Convert_BD09_To_GCJ02($lat,$lng){
  25. $x_pi = 3.14159265358979324 * 3000.0 / 180.0;
  26. $x = $lng - 0.0065;
  27. $y = $lat - 0.006;
  28. $z = sqrt($x * $x + $y * $y) - 0.00002 * sin($y * $x_pi);
  29. $theta = atan2($y, $x) - 0.000003 * cos($x * $x_pi);
  30. $lng = $z * cos($theta);
  31. $lat = $z * sin($theta);
  32. return array('lng'=>$lng,'lat'=>$lat);
  33. }
复制代码

PHP