经纬度转换

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

 

  • 中国正常GCJ02坐标---->百度地图BD09坐标
  • 腾讯地图用的也是GCJ02坐标
  • @param double $lat 纬度
  • @param double $lng 经度 */ function Convert_GCJ02_To_BD09($lat,$lng){
      $x_pi = 3.14159265358979324 * 3000.0 / 180.0;
      $x = $lng;
      $y = $lat;
      $z =sqrt($x * $x + $y * $y) + 0.00002 * sin($y * $x_pi);
      $theta = atan2($y, $x) + 0.000003 * cos($x * $x_pi);
      $lng = $z * cos($theta) + 0.0065;
      $lat = $z * sin($theta) + 0.006;
      return array('lng'=>$lng,'lat'=>$lat);
    
     
    }

/**

  • 百度地图BD09坐标---->中国正常GCJ02坐标
  • 腾讯地图用的也是GCJ02坐标
  • @param double $lat 纬度
  • @param double $lng 经度
  • @return array(); */
  • function Convert_BD09_To_GCJ02($lat,$lng){
  •   $x_pi = 3.14159265358979324 * 3000.0 / 180.0;
      $x = $lng - 0.0065;
      $y = $lat - 0.006;
      $z = sqrt($x * $x + $y * $y) - 0.00002 * sin($y * $x_pi);
      $theta = atan2($y, $x) - 0.000003 * cos($x * $x_pi);
      $lng = $z * cos($theta);
      $lat = $z * sin($theta);
      return array('lng'=>$lng,'lat'=>$lat);
    
     
posted @ 2024-10-30 14:16  时光一寸灰  阅读(14)  评论(0编辑  收藏  举报