iPhone GPS速度计算问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iPhone GPS速度计算问题相关的知识,希望对你有一定的参考价值。

在我的应用程序中,我使用LocationManager来获取位置,我也想要计算DISTANCE,SPEED和TIME。

从位置管理器我成功地获得时间和距离,但是当我从坐标计算速度时,它显示错误的值。

为获取位置,我使用以下代码。

CLLocationManager *locManager ;
float fltDistanceTravelled; 
double calculatedSpeed;

//===============
locManager=[[CLLocationManager alloc] init];
locManager.delegate=self;
locManager.distanceFilter=25.0f;
locManager.desiredAccuracy=kCLLocationAccuracyBestForNavigation;
[locManager startUpdatingLocation];
//=====================

- (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation 
{
    if(newLocation && oldLocation)
    {
        // getting distance
        fltDistanceTravelled +=[self getDistanceInKm:newLocation fromLocation:oldLocation];
    }
    if(oldLocation != nil)         
    {
        CLLocationDistance distanceChange = [newLocation getDistanceFrom:oldLocation];
        NSTimeInterval sinceLastUpdate = [newLocation.timestamp timeIntervalSinceDate:oldLocation.timestamp];
        // calculate speed
        calculatedSpeed= (distanceChange / sinceLastUpdate) * 3.6;       
    }
}

但是这段代码返回了汽车的calculatedSpeed(速度)的错误值。

答案

您已经在委托方法中获取了速度数据。

CLLocation有一个speed财产

而不是自己尝试计算,只需从newLocation.speed得到它。

以上是关于iPhone GPS速度计算问题的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 iPhone 计算我们汽车的速度

使用 GPS 计算准确速度

如何在 iPhone 上计算车速 [关闭]

获取高度、方位、速度和 GPS 精度

在 iPhone 崩溃应用中使用 GPS 跟踪位置

iOS GPS的返回速度是多少?