我是iOS开发的新手。可以请任何人告诉我在iOS中获得用户速度的最准确方法。 CLLocation速度似乎不正确。
这是我获得速度的代码
func locationManager(_ manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) {
var speed: CLLocationSpeed = CLLocationSpeed()
speed = (locationManager.location?.speed)!
print("speed - ", speed * 3.6)
答案 0 :(得分:0)
使用“CLLocation”计算的移动速度将不准确,因为您需要连续更新位置,这会占用大量资源。因此,CLLocation
会根据间隔更新位置。
如果出于某种原因,您希望持续更新速度,则需要查看Accelerometer
和Gyroscope
。通过使用两者的值和一些数据操作,您可以获得更合理的当前速度值。
注意强> 请记住,这样做会对设备的资源产生影响,并不是最好的方法。