MerginMaps / MerginMaps/mobile

Enforce minimum and maximum map scale limits

Open
#4,637 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement map tools
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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.