Don't let a dodgy data connection hamper your attempts to get from A to B: Many of the mapping tools on the market enable you to cache tiles for offline use, so even if you're halfway down a mountain you can still spot the track that will lead to back to civilisation. Here's how to store maps ahead of time in a couple of the most popular navigation tools, and a few tips for avoiding problems with apps that don't support the feature.
Remember that GPS is able to run separately to your smartphone's data connection -- the GPS sensor inside your device can pick up your location even when you're way out of range of the network, as long as it can connect to a satellite somewhere above you (though most handsets now use cell towers for extra accuracy too). That means as long as you have the right maps cached in advance, you should be able to find your way to your destination eventually.
Google Maps is a fully signed up member of the offline maps club, though the feature isn't all that easy to find. On Android, activate voice input by tapping the microphone icon and then say "OK Maps." The app then prompts you to pan and zoom to choose an area to cache. If you select an area that's too big, the app shows an alert and asks you to zoom in.
There's another way to do it, which works on both Android and iOS. Search for a particular place (whether a city or a restaurant), open up the place card by tapping on its name at the foot of the screen, and then choose the Save offline map option from the drop-down menu (three vertical dots in the top right corner). As before you can pan and zoom on the map to specify the exact portion of the map you want to save.
Tap Save to finish the job and give your offline map a name to help you identify it later. After a few seconds of caching, you're ready to go. From the app menu, tap Your places and scroll down to see your offline maps. Select View all and manage to rename, update or delete any of the maps you've saved. Offline maps are automatically cleared after 30 days.
Nokia's up-and-coming Here maps has an intuitive offline map feature built right into it. You access it by opening the app menu and tapping Download maps. From the subsequent screen you can see how much space is left on your smartphone and tap Download new to start caching map tiles (a free Here maps account is required to save maps to your device).
There's no need to pan and zoom with Here maps, you just choose the location where you want to go travelling. Tap on a continent (North and Central America, for example) and select the area required, or download all of the maps for the entire land mass. Next to each map is the amount of room it's going to take up on your device.
Tap any of the download icons to start transferring data. Once a map has been saved, it appears on the Download maps menu, where you can delete if necessary. There's also a dedicated Use app offline check box if you want to make absolutely sure you're not using up any data. Note that Here Maps is only available for Android right now, though an iOS version is imminent.
Some navigation apps are designed specifically to work offline; you'll be asked to download the maps you'll be using at the same time as you install the app itself or shortly afterwards. This follows the old satnav approach, where devices came preloaded with maps rather than updating them in real-time.
If you've got plenty of storage space on your smartphone, you can try the likes of Navigon (paid), Maps.me (free) and Galileo (freemium), the last of which is aimed at hikers and bikers rather than drivers. There are plenty of other options out there at a range of price points, so if you regularly travel in areas where cell coverage is spotty then you won't be stuck when it comes to picking a mapping app to help you out.
If you're particularly tied to a map tool that doesn't have a dedicated offline feature, such as Apple Maps or Waze, then plotting your route in advance can in some cases cache the tiles required for the journey. Apple Maps does offer offline support, but everything is handled automatically. It decides which data to cache based on what you've already viewed while using an available data connection, and there's no manual override.