Вопрос

Я разрабатываю приложение GPS.Знаете ли вы о том , как определить скорость мобильного устройства?

На самом деле, мне нужно определять скорость каждые 2 секунды.

Я знаю didUpdateToLocation метод вызывается при изменении местоположения.

- (void)locationManager:(CLLocationManager *)manager
    didUpdateToLocation:(CLLocation *)newLocation
           fromLocation:(CLLocation *)oldLocation

Но я думаю, что этот метод не подходит для моей проблемы.

Итак, нужно ли мне проверять скорость [CLLocationManager location] за 2 секунды ?

Есть какие - нибудь предложения ?

Заранее благодарю.

Это было полезно?

Решение

Как насчет приведенного ниже кода, который работает из метода делегирования?В качестве альтернативы, если вы действительно хотели провести опрос, сохраните свое предыдущее местоположение и проверьте расстояние, измененное с момента последнего опроса, и используйте ручной метод (также показанный ниже) для расчета скорости.

Скорость рассчитывается / предоставляется в м / с, поэтому умножьте на 3,6 для км/ч или 2,23693629 для миль/ч.

-(void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation
{
   //simply get the speed provided by the phone from newLocation
    double gpsSpeed = newLocation.speed;

    // alternative manual method
    if(oldLocation != nil)
    {
        CLLocationDistance distanceChange = [newLocation getDistanceFrom:oldLocation];
        NSTimeInterval sinceLastUpdate = [newLocation.timestamp timeIntervalSinceDate:oldLocation.timestamp];
        double calculatedSpeed = distanceChange / sinceLastUpdate;

    }   
}

Другие советы

Вы действительно можете использовать только метод делегирования, который вы предложили в своем вопросе.

Даже если вы обращаетесь к [местоположению CLLocationManager] каждые 2 секунды, вы будете получать только координаты, которые вы в последний раз получали в описанном выше методе делегирования.

Зачем проводить опрос каждые две секунды?В некоторых случаях iphone может обновлять свои координаты за меньшее время.

HTH

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top