Gps 在某些车型上,连接CarPlay的定位速度高于未连接CarPlay的定位速度

Gps 在某些车型上,连接CarPlay的定位速度高于未连接CarPlay的定位速度,gps,core-location,cllocationmanager,cllocation,carplay,Gps,Core Location,Cllocationmanager,Cllocation,Carplay,连接CarPlay后,在某些车型上,在CLLocationManager的didUpdateLocations方法中返回的CLLocation的speed属性似乎更高 这似乎与应用程序中的CarPlay导航支持无关,因为演示项目可以在没有CarPlay支持的情况下重现该问题 确认发生这种情况的具体车型有: 沃尔沃XC90 福特运输与同步3 配备Rlink2和最新固件的雷诺Megane IV 2018车型 欧宝阿斯特拉站(2018年) 福特福克斯2017 欧宝阿斯特拉(K型,2017)-获得GP

连接CarPlay后,在某些车型上,在
CLLocationManager
didUpdateLocations
方法中返回的
CLLocation
speed
属性似乎更高

这似乎与应用程序中的CarPlay导航支持无关,因为演示项目可以在没有CarPlay支持的情况下重现该问题

确认发生这种情况的具体车型有:

  • 沃尔沃XC90
  • 福特运输与同步3
  • 配备Rlink2和最新固件的雷诺Megane IV 2018车型
  • 欧宝阿斯特拉站(2018年)
  • 福特福克斯2017
  • 欧宝阿斯特拉(K型,2017)-获得GPS速度的一半
区别的一个例子是:

  • 车速表:120km/h
  • 来自
    didUpdateLocations
    的GPS速度:115km/h
  • didUpdateLocations
    开始的GPS速度,其中一款车型上连接了CarPlay:130km/h
在这里,您可以找到一个演示项目(使用NL语言环境),该项目再现了该问题:

相关部分:

override private init() {
    super.init()

    // These settings mimick the settings we have in our production app
    locationManager.requestAlwaysAuthorization()
    locationManager.delegate = self
    locationManager.allowsBackgroundLocationUpdates = true
    locationManager.activityType = .automotiveNavigation
    locationManager.pausesLocationUpdatesAutomatically = false
    locationManager.desiredAccuracy = kCLLocationAccuracyBest
    locationManager.distanceFilter = kCLDistanceFilterNone
}

func startLocating() {
    locationManager.startUpdatingLocation()
}

func stopLocating() {
    locationManager.stopUpdatingLocation()
}

func locationManager(_ manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) {
    guard lastLocation = locations.first else {
        return
    }

    print(lastLocation.speed) // This property is higher when connected to CarPlay
}