The Map
Cutting the paper map into tiles.
The heart of the app was the map, and the plan was to turn the park’s paper map, a detailed topographic map of every trail with a lettered and numbered grid, into map tiles with Mapbox. We built it that way first, in early March 2019, with a styled Mapbox layer and its offline downloads, but Mapbox gave us trouble on Android with React Native, so we switched to Google’s map, with our own tiles laid over it.
What replaced it starts with the park’s full-page trail map as one very large image. Rather than rely on its world file, it was placed by the coordinates of its corners in Tennessee’s state-plane grid, which lined it up with the ground when checked against Interstate 75, and then MapTiler Desktop cut it into square tiles, with the app using seven zoom levels, 9 to 15. The paper map’s grid squares are one minute of latitude by one minute of longitude, and the tiles sit on them, so the blue dot for the rider lands where the rider really is.
All 1,446 tiles go into one zip file of about 35MB. The app downloads it once, unzips it into its own storage and hands the tiles to react-native-maps as a layer read straight off the phone, over Google’s map on both iPhone and Android. Nothing on the map needs a connection after that, and the blue dot comes from GPS alone.