distanceBetweenTwoGeoPoints method
calculate the distance in meters between two geo points
Implementation
num distanceBetweenTwoGeoPoints(Coordinate l1, Coordinate l2, [num? radius]) {
radius = radius ?? _RADIUS;
var R = radius;
num l1LatRadians = degToRadian(l1.y);
num l1LngRadians = degToRadian(l1.x);
num l2LatRadians = degToRadian(l2.y);
num l2LngRadians = degToRadian(l2.x);
var latRadiansDiff = l2LatRadians - l1LatRadians;
var lngRadiansDiff = l2LngRadians - l1LngRadians;
num a = math.sin(latRadiansDiff / 2) * math.sin(latRadiansDiff / 2) +
math.cos(l1LatRadians) *
math.cos(l2LatRadians) *
math.sin(lngRadiansDiff / 2) *
math.sin(lngRadiansDiff / 2);
num c = 2 * math.atan2(math.sqrt(a), math.sqrt(1 - a));
var distance = R * c;
return distance;
}