bearing static method

double bearing(
  1. double lat1,
  2. double lng1,
  3. double lat2,
  4. double lng2,
)

Initial bearing in degrees (0-360) from point 1 to point 2.

Implementation

static double bearing(double lat1, double lng1, double lat2, double lng2) {
  final double y = math.sin(_rad(lng2 - lng1)) * math.cos(_rad(lat2));
  final double x = math.cos(_rad(lat1)) * math.sin(_rad(lat2)) - math.sin(_rad(lat1)) * math.cos(_rad(lat2)) * math.cos(_rad(lng2 - lng1));
  return (math.atan2(y, x) * 180 / math.pi + 360) % 360;
}