当前位置:首页 > PHP教程 > php应用 > 列表

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

发布:smiling 来源: PHP粉丝网  添加日期:2020-03-28 18:00:48 浏览: 评论:0 

本篇文章的主要内容是关于用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. * @param double $lat 纬度 
  39.  
  40. * @param double $lng 经度 
  41.  
  42. */ 
  43.  
  44. function Convert_GCJ02_To_BD09($lat,$lng){ 
  45.  
  46.         $x_pi = 3.14159265358979324 * 3000.0 / 180.0; 
  47.  
  48.         $x = $lng
  49.  
  50.         $y = $lat
  51.  
  52.         $z =sqrt($x * $x + $y * $y) + 0.00002 * sin($y * $x_pi); 
  53.  
  54.         $theta = atan2($y$x) + 0.000003 * cos($x * $x_pi); 
  55.  
  56.         $lng = $z * cos($theta) + 0.0065; 
  57.  
  58.         $lat = $z * sin($theta) + 0.006; 
  59.  
  60.         return array('lng'=>$lng,'lat'=>$lat); 
  61.  

Tags: PHP腾讯地图 PHP百度地图

分享到: