distanceInKilometers2 function

double distanceInKilometers2(
  1. GeoPoint p1,
  2. GeoPoint p2
)

Implementation

double distanceInKilometers2(GeoPoint p1, GeoPoint p2) {
  final earthRadius = 6378.137; // WGS84 major axis

  final lon1 = degreesToRadians(p1.longitude);
  final lon2 = degreesToRadians(p2.longitude);
  final lat1 = degreesToRadians(p1.latitude);
  final lat2 = degreesToRadians(p2.latitude);

  final distance = acos(sin(lat1) * sin(lat2) + cos(lat1) * cos(lat2) * cos(lon2 - lon1));
  return distance * earthRadius;
}