Ios 苹果手表套件-获取标题

Ios 苹果手表套件-获取标题,ios,apple-watch,Ios,Apple Watch,是否有任何信息可以接收苹果手表的“标题” 我想显示一个箭头,用户需要去哪里,相对于他目前拿手表的方式。在iPhone上,您可以使用CLLocationManager标题进行此操作,但我不确定这是否/如何在Apple Watch上工作(我不需要iPhone标题;) 有没有关于这方面的文档可以链接到我 由于WatchKit不提供对Apple Watch硬件的访问(而且手表中也没有磁强计),因此您需要处理手机的标题 因此,在静止状态下获得准确的航向目前并不可行。但是,如果您同意先进行一些移动,则可以根

是否有任何信息可以接收苹果手表的“标题”

我想显示一个箭头,用户需要去哪里,相对于他目前拿手表的方式。在iPhone上,您可以使用CLLocationManager标题进行此操作,但我不确定这是否/如何在Apple Watch上工作(我不需要iPhone标题;)


有没有关于这方面的文档可以链接到我

由于WatchKit不提供对Apple Watch硬件的访问(而且手表中也没有磁强计),因此您需要处理手机的标题


因此,在静止状态下获得准确的航向目前并不可行。但是,如果您同意先进行一些移动,则可以根据几个记录的位置坐标计算方向角。(iOS)或(普通数学)的答案可能会对你有用。

因为WatchKit不提供苹果手表硬件的访问(而且手表中没有磁强计),所以你需要处理手机的标题


因此,在静止状态下获得准确的航向目前并不可行。但是,如果您同意先进行一些移动,则可以根据几个记录的位置坐标计算方向角。(iOS)或(普通数学)的答案可能对你有用。

苹果手表中没有指南针。。。你可以根据连续的GPS位置猜到航向(GPS也在iphone上运行…),依靠iphone的指南针可能不合适

苹果手表里没有指南针。。。你可以根据连续的GPS位置猜到航向(GPS也在iphone上运行…),依靠iphone的指南针可能不合适

您现在可以从核心位置(Apple Watch Serie 5+、watchOS 6.0+)使用“磁导航”或“trueHeading”

以下是一个基本示例:

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()
以下是所有苹果官方文档:

别忘了先检查“heading”是否可用:

您现在可以从Core Location(Apple Watch Serie 5+、watchOS 6.0+)使用“magneticHeading”或“TrueTHeading”

以下是一个基本示例:

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()
以下是所有苹果官方文档:


别忘了先检查“航向”是否可用:

对于阅读本文的每个人来说:苹果手表甚至没有磁强计,所以没有罗盘数据(每个人读到这篇文章时都可能重复:苹果手表甚至没有磁强计,所以没有罗盘数据。)