Relative Auto-Zoom and Configuration

George Snyder shared this idea 1 year ago
Collecting votes

I have been thinking for some time about how to make Auto-Zoom more flexible while minimizing configuration settings. I propose the following changes, which are described below:

• Make Auto-Zoom relative to the current zoom level, instead of using preset levels;

• Add two simple configuration numbers to the Car/Bike/Foot profiles.

Based on experience and on previous discussions, I do not think there is a set of preset zoom levels which can satisfy all users and all screen sizes in all situations (even within one profile). For example, between 31 and 63 mph (50-100 km/h), Auto-Zoom in Locus 3.11.3 shows me about 35 seconds of travel time ahead. (Doubling the speed zooms out by one level, which doubles the distance on screen, so travel time is constant). For some users this may be fine. However, I prefer a longer (time) view ahead at high speeds, which requires faster zoom out

Furthermore, different situations may require different zoom levels for the same speed. I may want a more detailed view when negotiating exit ramps left and right around Cleveland, but a broader view with upcoming rest stops and gas stations when driving through rural Michigan at the same speed.


First, I propose that Auto-Zoom should not use preset zoom levels at all. Instead, it should zoom in or out relative to the last user-selected zoom level. For example, if I am stopped and select zoom level 17, then when I start moving Auto-Zoom would zoom out from level 17. If I am driving at 50 mph (80 km/h) and select zoom level 11, then slowing down would zoom in from level 11, and speeding back up to 50 mph would zoom back out to level 11.

This approach would let me set the view as needed for a change in situation, just by tapping the (-) and (+) zoom buttons. After that, Auto-Zoom would adjust that view for speed changes, rather than resetting it. There would be no need to temporarily disable Auto-Zoom, which can be tricky while moving.


Second, we need to control whether a change in speed zooms in a little or a lot. I propose the following two settings for Auto-Zoom in each profile (Car/Bike/Foot):

Auto-Zoom rate:

- One level every [ <speed> ] mph or km/h

- Two levels above [ <speed> ] mph or km/h

For example, if I set the first to 10 mph and the second to 40 mph, then Auto-Zoom would change by one level at 10, 20, 30, and 40 mph, and by two levels at 50 mph, 60 mph, and so on (with smooth zooming between levels as usual).

Changing the level at equal speed increments provides a modest increase in travel time on screen at higher speeds. For example, if I set "One level every [20] mph" and "Two levels above [500] mph" (i.e. no 2-level changes), then my screen would show roughly the following times:

• 20-40 mph: 30 seconds

• 55 mph: 35 seconds

• 65 mph: 45 seconds

• 75 mph: 55 seconds

• 85 mph: 1 minute

See attachment 'Slow Zoom.png'.

Changing at smaller intervals and/or by two levels increases the displayed travel time faster. For example, if I set "One level every [15.5] mph" and "Two levels above [50] mph", then my screen would show roughly:

• 20-40 mph: 35-45 seconds

• 55 mph: 1 minute

• 65 mph: 2.5 minutes

• 75 mph: 5 minutes

• 85 mph: 10 minutes

See attachment 'Fast Zoom.png'.

I have attached an example of settings I might use for walking, and one showing what I think is equivalent to the "Car" profile settings in 3.11.3. There is also an Excel spreadsheet for those who want to experiment with other screen sizes, settings, and zoom levels. Settable fields are bold black font. Apologies to metric users; inputs are mostly English units, with equivalent metric shown to the right. You can enter 50 km/h as a formula "=50/kpm". If you unprotect the sheet, you can change the graph's X axis to the Km/h column.


Smooth Auto-Zoom in 3.11.3 already maintains the user's Map Resolution setting. No additional corrections for screen size or DPI should be needed, because the user will have set Map Resolution and zoom level to account for them.


From other discussions, I infer that the code uses a table which maps from speed to auto-zoom level. That table could be initially generated from the two configuration parameters, rather than being static. Then when the user manually selects a zoom level, code could adjust the level numbers in the table up or down so that the current speed maps to the manually selected level.


• Personally, I think Auto-Zooming from the current level would be more intuitive than using preset levels.

• A user can easily select a range of Auto-Zoom for various situations while moving.

• If I manually zoom way in to look at a detail or way out for an overview of the route, then Auto-Zoom won't reset the view while I'm still looking at it.

• The two configuration parameters support a wide variety of zooming rates, from gentle to aggressive.

• The two configuration parameters are easy to understand (at least I think so).

• No code needed to adjust for screen size and resolution.

• No more change requests for the speed-to-level mapping. B-)


• If I manually zoom way in to look at a detail or way out for an overview of the route, then getting back to my usual traveling zoom level requires multiple taps, probably while looking at the screen.

• At speeds near the "One level every" setting, speeding up can actually decrease the travel time on the screen as the distance increases. The effect looks smaller than what you would get with Auto-Zoom off -- around 30 seconds for driving speeds and one minute for walking speeds -- so I don't think it's a significant problem.


This would be a pretty basic change to how Auto-Zoom behaves, so please comment!

Comments (7)


nice work, it's hard to accommodate everyone, your suggestion gives 2 preset options slow n fast, would like 2 try in field b4 commenting further. imho manual auto zoom levels worked the best, mayb with a utube vid xplaining how 2 config. the configurations atm work ok if u know the area, in unknown areas its quite dangerous re adjusting screen whilst trying 2 watch rd, choosing correct lane ect. the attached file is a humorous reason 4 reverting back 2 manual configuration....


Mark -- Thanks. I agree about screen adjustment while driving being dangerous. I once blew out a tire on a sharp curbstone while trying to turn on map rotation. Ouch.


It would also be nice to allow the user to set ranges and values of the zoom. Apparatus and visual acuity are different.



I agree. I would be great to individualize the autozoom. Here an example of an old Locus version:


Unfortunately, the work of the current Auto-ZOOM function does not allow using it, because at a speed of 60 km / h I see a scale of 200 m. Thus, on the smartphone's screen I see very close (no more than a kilometer), which is completely useless at such a Speed.

Perhaps, to return the old function, as it was in previous versions of the program?


In beta there was an option customized auto-zoom, and I like this. :)

Maybe make a mode switch? «Simple», for ordinary users who do not want to customize. They enjoy a simple auto-zoom, and «customized auto-zoom» for advanced users, who will adjust the threshold of speed and zoom.

If this is not difficult to implement. Then all users of the Locus will be satisfied.



Good day Negix, others,

I think that implemented feature in latest version is more this one . It is not based on relative zoom changes like George wrote here, but on absolute system where you define zoom level based on speed.