私はCLLocationManagerを使用してユーザーの場所を取得しています。CLLocationManagerから実際に不正確な精度を取得する
私は単一の場所の更新を取得したいと思います。
私の問題は、私はhorizontalAccuracy
場所は+/- 3881.91メートル
verticalAccuracy%@ < + xx.xxxxxx、+ yy.yyyyyyy>は本当に悪い取得していますということです: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 mです。
私はドアを出ると素晴らしいですが、ドアはこれほど悪くはありません。
セルラ三角測量とWi-Fiを使用すると、より良い結果が得られるはずです。
20分後、私はドアで±50mの精度の良い結果を得始めました。
?ウィンドウの近くは良い選択肢ではありません。 – Apurv
@Apurv、どうしてですか?私は最高の結果を得ることを期待していないが、4kmの精度はばかげている。 – ilan