>  기사  >  백엔드 개발  >  PHP腾讯地图经纬度转百度地图经纬度

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

WBOY
WBOY원래의
2016-07-25 08:42:331708검색
  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


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.