Мне было труднее всего выяснить, почему distanceFromLocation не вычисляет правильное расстояние для двух CLLocations. Вычисленный результат - это число, ПУТЬ большее, чем фактическое расстояние, но эти два местоположения являются действительными.
Прежде всего, вот две локации:
МЕСТО 1: <+44.56697840,
-69,55759810> +/- 0,00 м (скорость -1,00 м / с / курс -1,00) @ 2010-12-13
21:12:03 -0500
РАСПОЛОЖЕНИЕ 2:
<+44,31400400, -69,79157000> +/- 0,00 м
(скорость -1,00 м / с / курс -1,00) @
2010-12-13 21:12:03 -0500
А вот код, где объявляются Location1 и Location2. Я проверил, что это правильные значения, но я все еще не могу понять это
CLLocation *newLocation = [[CLLocation alloc]
initWithLatitude:[latitude doubleValue]
longitude:[longitude doubleValue]];
// CURRENT LOCATION (OR SEARCHED LOCATION)
double dLat = 0;
int tmpDistance = 0;
id returnId = nil;
id tmp = [featuredResults objectAtIndex:i];
CLLocation *newLocation2 = [[CLLocation alloc]
initWithLatitude:[[tmp valueForKey:@"lat"] doubleValue]
longitude:[[tmp valueForKey:@"lng"] doubleValue]];
dLat = [newLocation distanceFromLocation:newLocation2];
Значение, которое я получаю для dLat, равно 330707027, что неверно. Кто-нибудь знает, где я могу пойти не так? Спасибо!