[英]Apple Watch Kit - get heading
是否有任何信息是否可以接收Apple Watch的'heading'?
我想在用户需要去的地方显示一个箭头,相对于他当前拿着手表的方式。 在 iPhone 上,您可以使用 CLLocationManager 标题来执行此操作,但我不确定这是否/如何在 Apple Watch 上工作(我不需要 iPhone 标题;))
是否有任何关于此的文档可以链接到我?
Apple Watch 中没有指南针……您可以根据连续的 GPS 位置猜测航向(GPS 也在 iphone 上运行……)依靠 iPhone 的指南针可能不合适!
您现在可以使用 Core Location 中的“magneticHeading”或“trueHeading”(Apple Watch Serie 5+,watchOS 6.0+)
这是一个基本示例:
import CoreLocation
class yourClass {
let locationManager = CLLocationManager()
init() {
setupCoreLocation()
}
func setupCoreLocation() {
guard CLLocationManager.headingAvailable() else { return }
locationManager.delegate = self
locationManager.requestWhenInUseAuthorization()
// additional setup available if needed
}
}
extension yourClass: CLLocationManagerDelegate {
func locationManager(_ manager: CLLocationManager, didUpdateHeading newHeading: CLHeading) {
let magneticHeading = newHeading.magneticHeading
let trueHeading = newHeading.trueHeading
// Do something with the new heading values
}
}
然后,当您需要航向值时,您可以:
locationManager.startUpdatingHeading()
当您不再需要它们时,您可以:
locationManager.stopUpdatingHeading()
以下是所有 Apple 官方文档:
不要忘记先检查“标题”是否可用: headingAvailable()
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.