При использовании CLLocationManager я получаю странные показания. Лат / Лонг, о которых сообщают, пятно на,
но пройденное расстояние ОТКЛЮЧЕНО. Я реализовал следующий метод делегата следующим образом:
.h:
CLLocationManager *mLocationManager;
CLLocation *mStartDistance;
И
.m:
- (void) locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation
fromLocation:(CLLocation *)oldLocation
{
NSLog(@"%g", newLocation.coordinate.latitude);
NSLog(@"%g", newLocation.coordinate.longitude);
NSLog(@"%g", newLocation.altitude);
NSLog(@"%g", newLocation.verticalAccuracy);
if (mStartDistance == nil)
{ mStartDistance = newLocation; }
CLLocationDistance dist = [newLocation getDistanceFrom:mStartDistance];
NSLog(@"%gm", dist);
}
И когда я запускаю это на своем устройстве, я получаю следующее (лат / длинная маска, чтобы защитить виновного хе):
] xx.xxxx
] -yy.yyyy
] 0
] -1
] 0m
] xx.xxxx
] -yy.yyyy
] 0
] -1
] 0m
] xx.xxxx
] -yy.yyyy
] 0
] -1
] 376.133m <-- wat?
Я не понимаю, почему говорят, что я переместился на + 376 м ... это как + 1200 футов!