I hope this won’t complicate much more…
I noticed that the zoom change thresholds are constantly: 40, 60, 80, … kph (until reaching the speed at which the required minimum zoom value is set). Right? Thus, the OsmAnd style solution shown above could impose multipliers to these values - e.g. ×0.75 / ×1.00 / ×1.25.
To long-range (×0.75) -> 30, 45, 60, … kph
To mid-range (×1.00) -> unchanged 40, 60, 80, … kph
To close-up (×1.25) -> 50, 75, 100, … kph
Such a procedure would allow everyone to adjust the zoom changes style to suit their driving style. Believe me, for many oldtimer drivers (to which I myself belong), 80 kph is the end of the scale - that is, they will never reach the target zoom value set in the application