haversineDistance static method
Calculate distance between two points using Haversine formula. Returns the distance in meters.
Implementation
static double haversineDistance(GeoPoint a, GeoPoint b) {
const R = 6371000; // Earth radius in meters
final lat1 = a.latitude * pi / 180;
final lat2 = b.latitude * pi / 180;
final dLat = (b.latitude - a.latitude) * pi / 180;
final dLon = (b.longitude - a.longitude) * pi / 180;
final aVal =
sin(dLat / 2) * sin(dLat / 2) +
cos(lat1) * cos(lat2) * sin(dLon / 2) * sin(dLon / 2);
final c = 2 * atan2(sqrt(aVal), sqrt(1 - aVal));
return R * c;
}