有没有办法控制位置管理器的更新间隔?我使用了最近的10米设置来确保准确性,但似乎我的应用程序每秒都会获得一次更新,我认为这种情况经常发生。我想要的是准确度,但不是频率。
感谢。
答案 0 :(得分:0)
我是用计时器做的:
标题中的添加:
ServerInterface *serverInterface;
<。>文件中的:
- (void)viewDidLoad
{
...
[frequentLocationUpdateTimer invalidate];
frequentLocationUpdateTimer = [NSTimer scheduledTimerWithTimeInterval:30 target:self selector:
@selector(reEnableLocationTick:) userInfo:nil repeats:YES];
...
}
- (void)reEnableLocationTick:(NSTimer *)theTimer
{
[locationGetter startUpdates]; //Maybe you have to change this line according to your code
}
并在你的位置管理员......:
- (void)locationManager:(CLLocationManager *)manage didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation
{
...
if (newLocation.horizontalAccuracy < 100)
{
[locationManager stopUpdatingLocation];
}
...
// let our delegate know we're done
[delegate newPhysicalLocation:newLocation];
}
代码在达到最小精度100米后停止更新位置。然后,每隔30秒,一个计时器再次重新启用位置管理器。