Adopt vector-based tiles for OpenStreetMap-based implementations
- 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
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