Add support for Google Maps Geocoding API in location search dialog.
- Update ChooseLocationDialog signature to accept API key.
- Switch search provider logic based on configuration.
- Use Google Maps Geocoding API when provider is 'google_maps'.
- Maintain OpenStreetMap Nominatim support as fallback/default.
- Pass configured API key from BetterLocationRoot UI.
- Add ConfigFlag.NO_DISABLE_KEY to locationSearchProvider config to prevent
'Disable' (null) option which caused fallback to OSM.
- Add manual UI controls to BetterLocationRoot.kt for Location Search Provider
and Google Maps API Key, as automatic UI generation was not present on this page.
- Add ConfigSelector and ConfigInput helpers to BetterLocationRoot.kt.
- Ensure API key input is hidden/masked in the UI list.
Replace XYTileSource with OnlineTileSourceBase anonymous object to correctly
handle Google Maps query parameter format (&x=...&y=...&z=...) instead of
path-based format (/z/x/y.png).
- Use correct tile servers (mt0-mt3)
- Override getTileURLString to construct valid Google Maps URLs
Add config properties for locationSearchProvider (osm/google_maps) and
googleMapsApiKey to BetterLocationConfig. Modify ChooseLocationDialog
to switch between OpenStreetMap (MAPNIK) and Google Maps tile sources
based on user preference.
- Add locationSearchProvider unique config property
- Add googleMapsApiKey string config property (SENSITIVE flag)
- Add XYTileSource for Google Maps tiles in AlertDialogs
- Pass locationSearchProvider from BetterLocationRoot to dialog
Translation keys already existed in all 28 language files.