Files
2026-05-26 18:01:57 +05:30

26 lines
643 B
Dart

import 'dart:math';
/// Calculate distance between two coordinates in km
double calculateDistance(double lat1, double lon1, double lat2, double lon2) {
const double earthRadius = 6371; // km
final dLat = _degreesToRadians(lat2 - lat1);
final dLon = _degreesToRadians(lon2 - lon1);
final a = sin(dLat / 2) * sin(dLat / 2) +
cos(_degreesToRadians(lat1)) *
cos(_degreesToRadians(lat2)) *
sin(dLon / 2) *
sin(dLon / 2);
final c = 2 * atan2(sqrt(a), sqrt(1 - a));
final distance = earthRadius * c;
return distance;
}
double _degreesToRadians(double degrees) {
return degrees * pi / 180;
}