OvertureMaps / io-site

MIT License
31 stars 4 forks source link

Make Theme Pin state 'sticky' #112

Open Bonkles opened 1 month ago

Bonkles commented 1 month ago

Now that #102 is about to land we should make the pin state of each layer sticky in localstorage.

The localstorage should also be suboordinate / overwritten by the URL, IF the URL has layer pin information in it. It is possible to wire up custom information to be included in the zoom/lat/lng/pitch information that maplibre does natively:

https://stackoverflow.com/questions/75917397/mapbox-maplibre-how-to-use-custom-hash-to-show-parameters-in-url

You can supply custom hash strings to the URL.

At issue is if we need to list the names of the themes in the URL (which could get pretty long, like themes=addresses,buildings,transportation) or if we want to shorthand them using with numbers/indeces a la themes=0,1,4,5

To restate- if there is no custom layer info in the URL, we should honor what's in localstorage. If there IS information in the url, we should overwrite what's in localstorage with it.