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速度计算问题的主要内容,如果未能解决你的问题,请参考以下文章