midPointBetweenTwoGeoPoints method
calcuate the midpoint bewteen teo geo points
Implementation
Coordinate midPointBetweenTwoGeoPoints(Coordinate l1, Coordinate l2) {
num l1LatRadians = degToRadian(l1.y);
num l1LngRadians = degToRadian(l1.x);
num l2LatRadians = degToRadian(l2.y);
num lngRadiansDiff = degToRadian(l2.x - l1.x);
num vectorX = math.cos(l2LatRadians) * math.cos(lngRadiansDiff);
num vectorY = math.cos(l2LatRadians) * math.sin(lngRadiansDiff);
num x = math.sqrt((math.cos(l1LatRadians) + vectorX) *
(math.cos(l1LatRadians) + vectorX) +
vectorY * vectorY);
num y = math.sin(l1LatRadians) + math.sin(l2LatRadians);
num latRadians = math.atan2(y, x);
num lngRadians =
l1LngRadians + math.atan2(vectorY, math.cos(l1LatRadians) + vectorX);
return Coordinate((radianToDeg(lngRadians as double) + 540) % 360 - 180,
radianToDeg(latRadians as double));
}