我正在编写一个应用程序,可以在用户移动时显示用户距离固定点的距离(即每次用户移动时更新显示用户到点之间的距离)。我使用CLLocationManager和以下代码:
- (void)viewDidLoad
{
locationManager=[[CLLocationManager alloc]init];
locationManager.distanceFilter = kCLDistanceFilterNone;
locationManager.desiredAccuracy = kCLLocationAccuracyBest;
[locationManager startUpdatingLocation];
}
-(void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation
{
CLLocationDistance meters = [newLocation distanceFromLocation:fixedPoint];
self.distanceLabel.text = [[NSString alloc] initWithFormat:@"Distance: %.1f feet", meters*3.2808399];
}
这个标签应该显示用户到某个点的距离,但它并没有持续地更新。即使它被更新了,它也通常不能正确地显示用户到固定点的距离。我想知道是否有更好的方法来尝试解决这个问题,或者核心位置框架的基本限制是否使得这种操作不可能。非常感谢您的任何帮助。