从 2D 平面中的当前位置查找用户方位 iOS
Finding user's bearing from current location in 2D plane iOS
我正在尝试从我的 iOS 应用中的当前位置访问用户的方位。
我正在使用下面的代码访问它
func locationManager(_ manager: CLLocationManager, didUpdateHeading newHeading: CLHeading) {
heading = newHeading.trueHeading > 0 ? newHeading.trueHeading : newHeading.magneticHeading
}
但是,如果我们在 2D 平面中查看,它是没有用的,其中度数范围从 0 到 360 顺时针方向。我想通过套接字将方位数据发送给不同的订户用户,其中可以在 iOS 和 Android 上显示地图上带有航向指示器的注释(就像带有航向的当前位置指示器)。我正在使用一个自定义图像,该图像的航向指示器指向上方(12 点钟)以显示在我的其他应用程序上。
Android 有轴承,这是我正在寻找的那种价值。
我怎样才能得到那个值?
谢谢
航向由磁力计决定,确实不能用。这是一个静态值。
通过比较后续 (GPS) 位置来确定方位。它是随时间变化的动态值。
iOS 提供轴承,但将其命名为 'course':locationManager(_:didUpdateLocations:)
.
您必须阅读 CLLocation
的 course
property。
因为只有移动设备在移动时才能确定航向,所以航向精度取决于速度和 GPS 精度。因此,您必须使用 courseAccuracy
来确定 how/if 您将在 UI.
上显示
我正在尝试从我的 iOS 应用中的当前位置访问用户的方位。
我正在使用下面的代码访问它
func locationManager(_ manager: CLLocationManager, didUpdateHeading newHeading: CLHeading) {
heading = newHeading.trueHeading > 0 ? newHeading.trueHeading : newHeading.magneticHeading
}
但是,如果我们在 2D 平面中查看,它是没有用的,其中度数范围从 0 到 360 顺时针方向。我想通过套接字将方位数据发送给不同的订户用户,其中可以在 iOS 和 Android 上显示地图上带有航向指示器的注释(就像带有航向的当前位置指示器)。我正在使用一个自定义图像,该图像的航向指示器指向上方(12 点钟)以显示在我的其他应用程序上。
Android 有轴承,这是我正在寻找的那种价值。
我怎样才能得到那个值?
谢谢
航向由磁力计决定,确实不能用。这是一个静态值。
通过比较后续 (GPS) 位置来确定方位。它是随时间变化的动态值。
iOS 提供轴承,但将其命名为 'course':locationManager(_:didUpdateLocations:)
.
您必须阅读 CLLocation
的 course
property。
因为只有移动设备在移动时才能确定航向,所以航向精度取决于速度和 GPS 精度。因此,您必须使用 courseAccuracy
来确定 how/if 您将在 UI.