Я использую CLLocationManager для определения местоположения пользователей.Получение очень плохой точности от CLLocationManager
Я хочу получить одно обновление местоположения.
Моя проблема заключается в том, что я получаю очень плохо horizontalAccuracy
расположение в% @ < + xx.xxxxxx + yy.yyyyyyy> +/- 3881.91m
verticalAccuracy: 65.4401861912846, horizontalAccuracy : 3881,90892434957
Код:
fileprivate lazy var locationManager: CLLocationManager = {
let manager = CLLocationManager()
manager.desiredAccuracy = kCLLocationAccuracyBest
manager.delegate = self
manager.requestAlwaysAuthorization()
manager.pausesLocationUpdatesAutomatically = false
manager.desiredAccuracy = kCLLocationAccuracyBest
manager.distanceFilter = kCLDistanceFilterNone
return manager
}()
override init() {
super.init()
locationManager.startUpdatingLocation()
}
func locationManager(_ manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) {
guard let mostRecentLocation = locations.last else {
return
}
let verticalAccuracy = mostRecentLocation.verticalAccuracy
let horizontalAccuracy = mostRecentLocation.horizontalAccuracy
print("location is %@", mostRecentLocation)
print("verticalAccuracy: \(verticalAccuracy), horizontalAccuracy:\(horizontalAccuracy)")
}
Любые предложения, почему это происходит? Я вхожу в комнату рядом с окном, поэтому я за исключением того, чтобы получить плохую точность, но не так уж плохо.
Благодаря
Я получаю смешные результаты.
У меня есть горизонтальная точность 15 000 м.
Когда я выхожу из дверей, он отлично работает, но в дверях не должно быть так плохо.
Использование сотовой триангуляции и Wi-Fi должно дать намного лучшие результаты.
Через 20 минут я начал получать хорошие результаты + - точность в 50 м в дверях.
Где вы тестируете приложение? Рядом с окном это не очень хорошо. – Apurv
@ Апурв, почему бы и нет? я не ожидаю получить лучшие результаты, но точность в 4 км нелепо. – ilan