getBearing static method

double getBearing(
  1. ILatLng begin,
  2. ILatLng end
)

Implementation

static double getBearing(ILatLng begin, ILatLng end) {
  var lat = (begin.latitude - end.latitude).abs();
  var lng = (begin.longitude - end.longitude).abs();

  if (begin.latitude < end.latitude && begin.longitude < end.longitude) {
    return MathUtil.toDegrees(math.atan(lng / lat)) as double /*+ 90*/;
  } else if (begin.latitude >= end.latitude && begin.longitude < end.longitude) {
    return ((90 - MathUtil.toDegrees(math.atan(lng / lat))) + 90) /*+ 45*/;
  } else if (begin.latitude >= end.latitude && begin.longitude >= end.longitude) {
    return (MathUtil.toDegrees(math.atan(lng / lat)) + 180) /*- 90*/;
  } else if (begin.latitude < end.latitude && begin.longitude >= end.longitude) {
    return ((90 - MathUtil.toDegrees(math.atan(lng / lat))) + 270) /*+ 90*/;
  }

  return -1;
}