CLLocation速度返回-1.0

时间:2016-08-26 17:55:19

标签: ios swift cllocationmanager cllocation

我有问题。我的GPS(在Wifi上的iPad mini 2和3G / 4G上的iPhone 6上)速度返回-1.0。有个主意吗? 这是我在控制台日志中收到的:

长:12.5245,Lat:41.9456,速度:-1.0,kph:-3.6

这里是 didUpdateLocations()

中的代码
    let userLocation: CLLocation = locations[0]
    var speed: CLLocationSpeed = CLLocationSpeed()
    speed = (locationManager.location?.speed)!

    SpeedLabel.text = String(format: "%.0f km/h", speed * 3.6)
    let long = String(Float(userLocation.coordinate.longitude))
    let lat = String(Float(userLocation.coordinate.latitude))


    print("Long: \(long), Lat: \(lat), Speed:\(speed), kph: \(speed * 3.6) ")

1 个答案:

答案 0 :(得分:2)

我也有这个问题。负值表示无效速度。 这是大多数情况下,当你在建筑物内,并且由于建筑物而你的位置移动很多。

一个简单的解决方法是:

if speed < 0 { 
    speed = 0 
}

检查速度是否为负。如果是,它会将其重置为0.