Hi,

I'm setting the zoom level configuration like so:

Code:
navSettings = SKNavigationSettings()
navSettings.zoomLevelConfigurations = getZoomLevelConfig()
Code:
func getZoomLevelConfig() -> [Any]? {
        guard UD.autoZoom! != .off else {
            return nil
        }
        let autoZoomFactor = UD.autoZoom!.rawValue
        let zoom1 = SKZoomLevelConfiguration()
        zoom1.speedInterval = SKSpeedInterval(minimumSpeed: 0, maximumSpeed: 15)
        zoom1.zoomLevel = maxZoomLevel
        let zoom2 = SKZoomLevelConfiguration()
        zoom2.speedInterval = SKSpeedInterval(minimumSpeed: 15, maximumSpeed: 35)
        zoom2.zoomLevel = maxZoomLevel - 1*autoZoomFactor
        let zoom3 = SKZoomLevelConfiguration()
        zoom3.speedInterval = SKSpeedInterval(minimumSpeed: 35, maximumSpeed: 70)
        zoom3.zoomLevel = maxZoomLevel - 2*autoZoomFactor
        let zoom4 = SKZoomLevelConfiguration()
        zoom4.speedInterval = SKSpeedInterval(minimumSpeed: 70, maximumSpeed: 110)
        zoom4.zoomLevel = maxZoomLevel - 2.5*autoZoomFactor
        let zoom5 = SKZoomLevelConfiguration()
        zoom5.speedInterval = SKSpeedInterval(minimumSpeed: 110, maximumSpeed: 145)
        zoom5.zoomLevel = maxZoomLevel - 3*autoZoomFactor
        let zoom6 = SKZoomLevelConfiguration()
        zoom6.speedInterval = SKSpeedInterval(minimumSpeed: 145, maximumSpeed: 500)
        zoom6.zoomLevel = maxZoomLevel - 3.5*autoZoomFactor
        return [zoom1, zoom2, zoom3, zoom4, zoom5, zoom6]
    }
Then I start navigation:
Code:
SKRoutingService.sharedInstance().startNavigation(with: navSettings)
When map is in 2D mode the zoom level 'Jumps' every 10 to 12 seconds or so (speed is constant, tested on simulator 'Freeway Drive'). For example, speed stays within 115-120 km/h (so not crossing any speed interval), the zoom 'jumps' (it zooms in) only to zoom out again (animated) to the level it was before. Btw zoom doesn't work in 3D mode, but that has always been the case.