【发布时间】:2014-02-13 14:34:05
【问题描述】:
我正在使用 CoreLocation 更新我的设备位置
-(void)viewDidLoad
{
[super viewDidLoad];
self.locationManager = [[CLLocationManager alloc] init];
self.locationManager.desiredAccuracy = kCLLocationAccuracyBest;
self.locationManager.delegate = self;
[self.locationManager startUpdatingLocation];
}
-(void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations {
CLLocation *loc = locations.lastObject;
double speed = loc.speed;
NSLog(@"speed-----%f ", speed);
}
当我用模拟器测试它时,它每秒更新一次,我正在加快速度(通过给模拟器位置 Freeway Drive) 但是当我使用真实设备进行测试时,它会以 10-15 秒的间隔更新位置。 为什么会发生这种情况,请帮助我?
【问题讨论】:
-
您应该尝试将“pausesLocationUpdatesAutomatically”属性设置为 NO。所以,self.locationManager.pausesLocationUpdatesAutomatically = NO;默认值为 YES,在这种情况下,当“它认为”位置不太可能发生变化时,LocationManager 会停止更新位置。
-
谢谢伙计,它奏效了。请把它作为答案。
标签: ios iphone objective-c location core-location