This PR switches EVMap from the old Mapbox SDK version we have been using (the last version that was under a libre license) to MapLibre, a fork with an open license that is actively maintained.
A big thanks to Jawg Maps, who offered to sponsor map tile hosting for EVMap - their map tiles will now be used as the source for EVMap's OpenStreetMap background maps (i.e. by default in the F-Droid version of the app, and when the user chooses OSM maps in the settings in the Google Play version).
This will make it easier to continue distributing the app through F-Droid (see #197, cc @linsui), resolves privacy concerns regarding Mapbox's use of an SKU token to implement per-user billing (#141), and of course makes us benefit from new features and improvements that are being implemented in the MapLibre library.
A couple caveats to note:
Geocoding (i.e. the place search bar) will still be using Mapbox APIs, thus a Mapbox API key will still be required for that feature. Jawg do also offer geocoding APIs, but that is not included in their sponsoring as of now.
It seems that Jawg currently do not offer a traffic data layer for maps, so this feature will be unavailable for now when OpenStreetMap maps are selected.
Jawg do offer satellite images, but only in a few countries as of now. I don't think satellite maps are a very commonly used feature in EVMap, so for now I switched this map style to use tiles from ArcGIS and hope their free tier will be sufficient.
This PR switches EVMap from the old Mapbox SDK version we have been using (the last version that was under a libre license) to MapLibre, a fork with an open license that is actively maintained.
A big thanks to Jawg Maps, who offered to sponsor map tile hosting for EVMap - their map tiles will now be used as the source for EVMap's OpenStreetMap background maps (i.e. by default in the F-Droid version of the app, and when the user chooses OSM maps in the settings in the Google Play version).
This will make it easier to continue distributing the app through F-Droid (see #197, cc @linsui), resolves privacy concerns regarding Mapbox's use of an SKU token to implement per-user billing (#141), and of course makes us benefit from new features and improvements that are being implemented in the MapLibre library.
A couple caveats to note: