MerginMaps / MerginMaps/mobile
Enforce minimum and maximum map scale limits
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 388
- Forks
- 87
- Avg merge
- 2d 7h
- Merged PRs (30d)
- 20
Description
## Problem
The map currently allows zooming out and in without any bound, which causes several problems:
- Zooming out too far breaks the scale bar display (see #1557 — scale bar starts showing incorrect/wrong length once zoomed out past a certain point, e.g. ~1000km).
- There is no benefit to zooming out further than having the whole world map fit the screen — it's just wasted zoom range and a source of bugs.
- Zooming out too far also interacts badly with geometry editing handles (see #2280) — handles/vertices become impossible to work with at extreme zoom levels, and recording guidelines can stretch incorrectly across the screen.
From https://github.com/MerginMaps/mobile/issues/2280#issuecomment-5132037126:
> In addition to hiding the handles when geom is too small, we should introduce and enforce a minimum map scale. There is no point in zooming out further than having the world map fit the screen!
## Proposal
- Introduce and enforce a **minimum map scale** — the map should not zoom out further than the point where the world map fits the screen.
- Introduce and enforce a **maximum map scale** — cap how far in the user can zoom, to a sensible upper bound.
- These limits should apply generally to map navigation (pan/zoom), not just during geometry editing.
## Related
- #1557 — scale bar shows incorrect values when zoomed out too far; also requests a zoom limit
- #2280 — geometry editing handles visual problems; comment above originates the min-scale idea in this context
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by locating the map navigation and zoom entry points in the mobile app, then trace where zoom bounds can be applied to general pan and zoom behavior. Verify that zooming out stops when the world fits the screen and that zooming in stops at a sensible upper bound without being limited only during geometry editing.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- mobile-dev
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100