我使用CLLocationManager捕獲位置數據。我不太關心水平精度,但我希望速度儘可能準確。CoreLocation捕獲速度
任何人都知道,如果kCLLocationAccuracyThreeKilometers將足夠我的用例,或者我必須使用kCLLocationAccuracyBest來獲得最準確的速度?
謝謝。
我使用CLLocationManager捕獲位置數據。我不太關心水平精度,但我希望速度儘可能準確。CoreLocation捕獲速度
任何人都知道,如果kCLLocationAccuracyThreeKilometers將足夠我的用例,或者我必須使用kCLLocationAccuracyBest來獲得最準確的速度?
謝謝。
AFAIK使用手機信號塔kCLLocationAccuracyThreeKilometers
作品(並且不使用GPS),它不會給你每一秒的信息(這就是爲什麼它是很好的電池),也不它使用核心運動。沒有GPS或coreMotion任何速度計算將不會被認爲是準確的
所以要回答你的問題,它不會給你一個準確的速度,但只是爲了安全起見,只是跳進汽車,並開始日誌記錄。 (記住,雖然把位置服務關閉所有其他應用程序,因爲有時其他應用程序具有更好的精確度可以提高應用的精度)
TLDR; kCLLocationAccuracyBest是要走的路。
我停留在同樣的問題,在我的基於地圖的應用程序之一,我解決了這個方法(在旅途中通過德里地鐵甚至我測試),並以其優良的工作:
func locationManager(_ manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) {
//Get Current Location
let location = locations.last! as CLLocation
let userLocation:CLLocation = locations[0] as CLLocation
// For getting speed
let speed = location.speed * 2.23694
lblSpeed.text = (location.speed<0) ? "-- \n mph" : String(format: "%d \n mph", Int(speed))
locationManager.startUpdatingHeading()
}
精度在kCLLocationAccuracyBest
locationManager.desiredAccuracy = kCLLocationAccuracyBest
歡迎您提供反饋的尾部完美呃使用這個代碼。希望它能解決你的問題。保持編碼
取決於你正在計算速度?通過比較兩個座標 –
? –
我不計算速度。我正在從CLLocation(CLLocationSpeed)讀取速度屬性 – SKT