gpt4 book ai didi

ios - 如何根据 iOS/swift 中当前位置的方位/航向值绘制一条线?

转载 作者:可可西里 更新时间:2023-11-01 01:32:47 25 4
gpt4 key购买 nike

我一直在做大量的研究,但一无所获。使用 MapKit,我有一张显示当前位置的 map ,在其他地方有一个计算航向/方位值(不一定是实际航向)的函数。如何在 map 上画一条线,从当前位置开始,指向给定航向的方向? (这条线有多长并不重要,因为它没有有意义的终点)。我不是要您为我编写代码,但希望您提供详细的指导。希望这对其他人也有帮助。

干杯

最佳答案

您的坐标是polar ,这意味着你有一个方向和一个长度。您只需要将它们转换为笛卡尔坐标,这将为您提供水平偏移量和垂直偏移量。你用一点三角学就可以做到这一点。

let origin = CGPoint(x: 10, y: 10)
let heading: CGFloat = CGFloat.pi
let length: CGFloat = 20

let endpoint = CGPoint(x: origin.x + cos(heading)*length,
y: origin.y + sin(heading)*length)

let path = UIBezierPath()
path.move(to: origin)
path.addLine(to: endpoint)

请注意,三角函数通常以弧度为单位(2*PI = 一圈)。轴承通常以度为单位(360 度 = 一转)。然而,转换很简单:

func radians(forDegrees angle: CGFloat) -> CGFloat {
return CGFloat.pi * angle / 180.0
}

关于ios - 如何根据 iOS/swift 中当前位置的方位/航向值绘制一条线?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38998489/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com