CLLocation distanceFromLocation всегда возвращает 0 - PullRequest
1 голос
/ 08 марта 2011

У меня проблема при использовании метода distanceFromLocation, где он всегда возвращает ноль.

Вот мой фрагмент кода:

NSArray *arrATMItem = [arrATMs objectAtIndex:indexPath.row];
cell.textLabel.text = [arrATMItem objectAtIndex:0];

float lat = [[arrATMItem objectAtIndex:1] floatValue];
float lon = [[arrATMItem objectAtIndex:2] floatValue];
CLLocation *branchLoc = [[CLLocation alloc] initWithLatitude:lat longitude:lon];

CLLocationDistance dist = [currentLocation distanceFromLocation:branchLoc];
NSLog(@"distance = %d",dist);
cell.detailTextLabel.text = [[NSString alloc] initWithFormat:@"%d m", dist];

Я также проверил, что *Экземпляры 1007 * и currentLoc имеют правильные значения.

Вот пример значения branchLoc:

lat: -6.17503957 long: 106.79891717

И значение дляcurrentLoc is:

lat: -6.17603957 long: 106.79891717

Значения branchLoc извлекаются из файла plist, а currentLoc получается из класса CLLocation в CLLocationlocationUpdate метод, определенный в моем файле делегата.

Я попытался использовать% f, и он также возвращает что-то вроде 0,00000.

Есть идеи, что я делаю неправильно?

Спасибо

1 Ответ

0 голосов
/ 31 марта 2011

Попробуйте использовать double (или CLLocationDegrees) для lat и lon.

...