CLLocation为不同的iPhone设备返回CLLocationSpeed的不同值

时间:2017-07-24 06:22:14

标签: ios iphone swift3 cllocationmanager

我正在开发一款基于旅行的应用程序。在不同设备上进行测试时,我发现在同一次旅行中我的速度并不相同。 我正在使用iPhone 6和iPhone 7+,我正在计算CLLocation数据接收速度的最大速度。两者完全不同。

我正在加速

let speed: CLLocationSpeed = location.speed

这两种设备都不同。

2 个答案:

答案 0 :(得分:1)

gbc.weightx = 1

答案 1 :(得分:0)

CLLocationManager 类提供纬度,经度,精度和速度等位置的不同字段。

我使用 CoreLocationController 所以对于位置更新我调用这个波纹管方法你可以在 - (void)locationUpdate:(CLLocation *)location 方法中获得当前速度,如bellow < / p>

- (void)locationUpdate:(CLLocation *)location
{
     NSString *currentSpeed = [NSString stringWithFormat:@"SPEED: %f", [location speed]];
}

或以下方式是委托方法

- (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation
{
    NSLog(@"in update to location");
    NSString *currentSpeed = [NSString stringWithFormat:@"SPEED: %f", [newLocation speed]];
}

您还可以查看this tutorial以获取更多信息。