我创建了位置管理器
locationManager.desiredAccuracy = kCLLocationAccuracyBestForNavigation
但每秒接收一次位置更新。 是否可以更频繁地获取更新?
我试图在计时器中获取当前位置,但它仍然每秒更新一次。
最佳答案
这是我做的:
[self pingLocation];//viewDidLoad
- (void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations {
[manager stopUpdatingLocation];
manager.delegate = nil;
self.currentLocation = (CLLocation *)[locations lastObject];
}
- (void) pingLocation {
[locationManager startUpdatingLocation];
locationManager.delegate = self;
[self performSelector:@selector(pingLocation) withObject:nil afterDelay:0.5];//change to whatever you want
}
这似乎给了我相当不错的结果,并且可以让它每秒更新一次以上。但是,它会非常耗尽电池电量,这不是最佳做法。我会问自己:你为什么想要这个?您真的需要每秒更新一次以上吗?
编辑:我刚刚再次测试过它,我相信虽然它似乎每半秒更新一次,但实际上并非如此。例如:
30.00000, 60.00000
30.00000, 60.00000
30.00032, 60.00056
30.00032, 60.00056
因此,抱歉,您的更新速度真的不能超过一秒。
关于iOS 位置管理器比每秒更新一次更频繁,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39135863/