首页 > 开发 > PHP > 正文

用PHP实现腾讯地图和百度地图的相互转换范例

2024-05-04 22:02:14
字体:大 中 小
来源:转载
供稿:网友

本篇文章的主要内容是关于用PHP实现腾讯地图和百度地图的相互转换(附代码),具有一定的参考价值,感兴趣的朋友一定要好好看看哦!

  1. /** 
  2.  
  3. * 百度地图---->腾讯地图 
  4.  
  5. * @param double $lat 纬度 
  6.  
  7. * @param double $lng 经度 
  8.  
  9. * @return array(); 
  10.  
  11. */ 
  12.  
  13. function Convert_BD09_To_GCJ02($lat,$lng){ 
  14.  
  15.         $x_pi = 3.14159265358979324 * 3000.0 / 180.0; 
  16.  
  17.         $x = $lng - 0.0065; 
  18.  
  19.         $y = $lat - 0.006; 
  20.  
  21.         $z = sqrt($x * $x + $y * $y) - 0.00002 * sin($y * $x_pi); 
  22.  
  23.         $theta = atan2($y, $x) - 0.000003 * cos($x * $x_pi); 
  24.  
  25.         $lng = $z * cos($theta); 
  26.  
  27.         $lat = $z * sin($theta); 
  28.  
  29.         return array('lng'=>$lng,'lat'=>$lat); 
  30.  
  31. } 
  32.  
  33.   
  34.  
  35. /** 
  36.  
  37. * 腾讯地图---->百度地图 
  38.  
  39. * @param double $lat 纬度 
  40.  
  41. * @param double $lng 经度 
  42.  
  43. */ 
  44.  
  45. function Convert_GCJ02_To_BD09($lat,$lng){ 
  46.  
  47.         $x_pi = 3.14159265358979324 * 3000.0 / 180.0; 
  48.  
  49.         $x = $lng; 
  50.  
  51.         $y = $lat; 
  52.  
  53.         $z =sqrt($x * $x + $y * $y) + 0.00002 * sin($y * $x_pi); 
  54.  
  55.         $theta = atan2($y, $x) + 0.000003 * cos($x * $x_pi); 
  56.  
  57.         $lng = $z * cos($theta) + 0.0065; 
  58.  
  59.         $lat = $z * sin($theta) + 0.006; 
  60.  
  61.         return array('lng'=>$lng,'lat'=>$lat); 
  62.  
  63. } 

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表