【发布时间】:2019-08-09 16:49:00
【问题描述】:
我正在创建一个导航应用程序。我想知道我当前的航向和东方之间的度数。我这样做的方式是用角度 0 减去真实航向,如果是北,则为 90 度,以此类推。当差异达到let i: ClosedRange<Double> = 0...20 时,我猜测航向朝向预期的方向,在本例中为东方。
我想知道这是否是完美的方法。如果我应该使用轴承,我仍然感到困惑。
//calculate the difference between two angles ( current heading and east angle, 90 degrees)
func cal(firstAngle: Double) -> Double {
var diff = heading - 90
if diff < -360 {
diff += 360
} else if diff > 360 {
diff -= 360
}
return diff
}
// check if the difference falls in the range
let i: ClosedRange<Double> = 0...20
if !(i.contains(k)) {
k = cal(firstAngle: b)
} else if (i.contains(k)) {
let message = "You are heading east"
print(message)
} else {return}
}
func locationManager(_ manager: CLLocationManager, didUpdateHeading newHeading: CLHeading) {
var heading = newHeading.trueHeading }
【问题讨论】:
标签: swift navigation maps