Description
Context
Offer developers the flexibility to choose another map, such as a Google Map JS API map, provided the map SDK supports native Deck.gl layers as the deck.gl and Google Maps Platform JS API does. Supporting additional base map types (such as ESRI / HERE / Google) would expand developer reach and value of the library
Keeping the base map to a vector style is key to maintain UX parity with Lonboard today via MapLibre GL. Support for another base map using ZXY raster tiles as a Maplibre source is a potential option to fulfil this user journey, but it is not the specific proposal I'm making in this issue as raster base map sources would significantly change the UX (e.g. no collision detection, z-layer ordering, etc)
Issue
This would require:
- Instantiating the map using Google Maps JS API vs. MapLibre GL JS
- Updating any UI bindings tightly coupled to the Maplibre GL e.g. placing legends, map controls, etc on the Map div.
- Adding a developer option for the user to bring their own API access key and map id instead of just hard-coded map styles in https://github.com/developmentseed/lonboard/blob/main/lonboard/basemap.py
- Other considerations - please add additional details / risks here, looking for feedback!
Acceptance-Criteria
The tasks that need to be completed or artifacts that need to be produced:
- Determine feasibility and alignment with repo owners
- Mock up the API design and options, get feedback from repo owners
- Create PR with map options and updates, tests, release notes
- Review and merge