metersToLongitudeDegrees method

double metersToLongitudeDegrees(
  1. double distance,
  2. double latitude
)

Calculates the number of degrees a given distance is at a given latitude.

@param distance The distance to convert. @param latitude The latitude at which to calculate. @returns The number of degrees the distance corresponds to.

Implementation

double metersToLongitudeDegrees(double distance, double latitude) {
  var radians = degreesToRadians(latitude);
  var num = cos(radians) * _EARTH_EQ_RADIUS * pi / 180;
  var denom = 1 / sqrt(1 - _E2 * sin(radians) * sin(radians));
  var deltaDeg = num * denom;
  if (deltaDeg < _EPSILON) {
    return distance > 0 ? 360 : 0;
  } else {
    return min(360, distance / deltaDeg);
  }
}