使用 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?
我不明白为什么它说我已经移动了+376m ..这就像+1200ft!