在我的 iOS 应用程序中,我必须跟踪从起点到当前位置的距离。我实现了这段代码:
- (void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations {
CLLocation *currentLocation = [locations lastObject];
CLLocation *startLocation = [locations firstObject];
[coordArray addObject:currentLocation];
float speed = currentLocation.speed * 3.6;
if (speed > 0) {
self.labelSpeed.text = [NSString stringWithFormat:@"%.2f Km/h", speed];
[speedArray addObject:[NSNumber numberWithFloat:speed]];
}
CLLocationDistance distance = [startLocation distanceFromLocation:currentLocation];
}
但是当我尝试使用该应用程序时,它并没有拉开距离。我需要将距离显示在标签中,并且我将使用以下等式计算步数:
steps = distance / length of human step
我知道它不准确,但我不能使用加速度计,因为它在 iPhone 的显示未激活时不起作用。一个人向我建议了这个解决方案。为什么我的代码没有给我距离?