Я использую следующий код для обновления местоположения после каждого 0,1 секунды -Вычислить точную скорость с помощью GPS
- (void)viewDidLoad
{
[super viewDidLoad];
CLController = [[CoreLocationController alloc] init];
CLController.delegate = self;
// set auto update timer
currentTimer = [NSTimer scheduledTimerWithTimeInterval:0.1 target:self
selector:@selector(updatestart) userInfo:nil repeats:YES];
}
-(void)updatestart
{
[CLController.locMgr startUpdatingLocation];
}
И тогда я пытаюсь вычислить скорость, используя
- (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation
{
[locMgr stopUpdatingLocation];
NSLog(@"%f",newLocation.speed);
}
я получаю скорость в метрах/сек, но через некоторое время процесс замедляется, и даже когда я останавливаюсь, скорость вычисляется.
Я хочу получить точную скорость и показать предупреждение, если скорость выше 12 км/час.
Есть ли другой подход, который я могу использовать, чтобы найти то же самое?
Спасибо ..
Как вы можете знать, что вы переехали, или что вы начали снова, если вы не продолжаете измерять? 0 м/с - такое же допустимое измерение скорости, как и 12 м/с. – Caleb