經緯度轉換

时光一寸灰發表於2024-10-30

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);
    

相關文章