beeware / beeware/toga

Adopt vector-based tiles for OpenStreetMap-based implementations

Open
#2,444 1 comment 0 reactions 0 assignees View on GitHub
android enhancement gtk linux qt windows
Dominant language
Python
Stars
5.4k
Forks
827
Avg merge
15h 39m
Merged PRs (30d)
40

Description

### What is the problem or limitation you are having?

#2379 added a map widget. This widget is based on OpenStreetMap on Android, Windows and GTK.

However, at time of merging, OSM's uses raster based tiles, which render poorly on high resolution displays.

### Describe the solution you'd like

The OSM backends should use a vector-based tile source.

On Feb 11 2024, OSM announced that 2024 would be the [Year of OpenStreeMap vector maps](https://blog.openstreetmap.org/2024/02/11/2024-announcing-the-year-of-the-openstreetmap-vector-maps/). The suggestion in that blog post is that that vector-based maps may become available in the 2024 calendar year. If/when this happens, we should investigate options for switching.

### Describe alternatives you've considered

Do nothing. The raster-based tiles work; vector tiles would just look nicer.

### Additional context

The iOS and macOS backends are not affected, as they already use vector-based tiles by way of being implemented with MapKit.

As part of this change, it would be desirable if the OSM-based implementations could use CSS pixel-based sizing, rather than display-pixel sizing (or, alternatively, if the scale factor of text can be controlled). This is especially noticeable on Android, where the text size on maps is very small if the screen density is high.

Contributor guide

Open the contributing guide

Research direction

Start by locating the OSM-based Android, Windows, and GTK map backends introduced by #2379, then review how they select tile sources and size text. Investigate available vector tile options and define a supported replacement; done when the affected backends use vector tiles and high-density text is acceptably sized.

Written by the indexing model from the issue text.

Assessment

Tech stack
android
Domain
desktop, frontend, mobile
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.