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


08-21 03:32