[ ] On-device caching. This PR will dramatically increase API calls if this is implemented as-is, so the device should keep a cache of stops that expire every couple of days.
[ ] Annotation clustering. Since we are no longer getting data whenever the map moves, It is now cheaper for the device to show more annotations. It is a nicer user-experience to just show clusterings rather than a "Zoom In To See Stops" message.
[ ] Reconfigure "Nearby Stops" in the map panel. This used to show a list of all stops on the map, but this should be reconfigured to show stops relative to the user's location. Updating the list depending on the user's map view might be too distracting...
Uses Geohash to create geographical tiles. Geohash code is tested and maintained by me (https://github.com/ualch9/GeohashKit).
To-Do
Fixes #563
https://user-images.githubusercontent.com/22162410/236625342-9288e489-e385-4aeb-b7de-5c123f3084c9.mov