code: public function calculateBearing(Coordinate $point1, Coordinate $point2): float
      {
          $lat1 = deg2rad($point1->getLat());
          $lat2 = deg2rad($point2->getLat());
          $lng1 = deg2rad($point1->getLng());
          $lng2 = deg2rad($point2->getLng());
  
          $y = sin($lng2 - $lng1) * cos($lat2);
          $x = cos($lat1) * sin($lat2) - sin($lat1) * cos($lat2) * cos($lng2 - $lng1);
  
          $bearing = rad2deg(atan2($y, $x));
  
          if ($bearing < 0) {
              $bearing = fmod($bearing + 360, 360);
          }
  
          return $bearing;
      }
docs: This method calculates the initial bearing between the
  two points.
  
  @param Coordinate $point1
  @param Coordinate $point2
  
  @return float Bearing Angle