The first tool I am going to detail is Google Maps on Android. I think the iPhone version has similar functionality, but I don't use Apple devices so I don't know for sure. One common fear that I have when we are on vacation is that we will get hopelessly lost, won't find the places we are looking for, or wander into an undesireable neighborhood. While it is usually pretty easy to find a paper map of your destination, it isn't always practical to bring out a large map and unfurl it on the sidewalk or across the dashboard. This is where Google Maps comes in handy. Using your phone you can download maps on the fly and the GPS on your phone allows you to pinpoint where you are.
Being able to download maps is great when you are travelling domestically, but what about internationally? Data rates are prohibitively expensive in most cases and it is possible your phone won't be compatible with the network overseas. Luckily Google has made a feature available called Offline Maps. The newest versions of Google Maps have this built in. The instructions for downloading maps for these versions can be found here. However one downside to the latest version of Google Maps is that offline maps are only available in some countries (a list of which is here ). While the list of countries is long, it doesn't include some places where maps would be really useful, like Japan.
The way around this limitation is to install an older version of Google Maps. Before becoming an official feature, Offline Maps was a Google Labs feature (found by going to Settings -> Labs) and was called Pre-Cache Map Area. The speculation is that once Pre-Cache became an official feature Google had to work out some licensing or other legal issues with its' map providers, which is why not every area is available with the newest version. Offline Maps was introduced with version 6.9 and the latest version with the Labs feature is 6.8.1. A link to download 6.8.1 can be found here. You can find your version by going to Settings->About (see below). Before 6.8.1 is installed, make sure you turn off automatic updates for Google Maps, otherwise it will just get updated to the latest version again when your phone is on a WiFi connection.
Once you have 6.8.1 installed you need to enable the feature. From the Google Maps app, go to Settings->Labs. Make sure the "Pre-cache map area" checkbox is checked. See the screenshots below for further clarification.
Next, move the map location to where you need offline maps. Press and hold in the general area where you want to have maps for (you can also search for an address, but I think this is easier) until a balloon pops up:
Press the balloon to bring up some options for the address. As we can see below, Pre-cache map area is listed at the bottom, press it to begin the download process.
You will be returned to the map screen and a progress bar like the one below should appear. As the screenshot says, the maps are downloaded for an area of about 10 miles around the address you selected.
Once the download is complete, a black box representing the downloaded area will be displayed on the map. Now, whenever you don't have a data connection you can still zoom in and view all of the roads and paths in a given area.
I suggest downloading the maps over a WiFi connection only since the amount of data needed for all of the maps is quite large and would take a while over a mobile data connection. In addition there is a limit of about 10 cached areas at any one time, so choose your spots somewhat carefully. Finally, even though you have maps I don't think that the Navigation features work without a data connection so keep that in mind and plan out your routes before setting out.
Hopefully my little guide can prevent you from getting lost on your next trip. While this system worked very well for us in Japan, it wasn't always perfect so be prepared and get familiar with major landmarks before you travel, just in case. Next time I'll discuss making a personal map with your desired destinations so that you have maps for where you are AND you know where you want to go :).