I recently had the need to put together some google maps for offline use. While I was at it, I created a map pack for inside the Tokyo Yamanote line. Here are links to an rmaps version and a maverick version. Rmaps and maverick lite are both free and support user-generated maps. Mapdroyd is also free and will download OpenStreetMap format vector maps, which are much smaller in size but of lower detail. You can use any of these programs and the proper maps downloaded to find your way with only the GPS on your android phone.
Google Maps 5 now caches maps, but it doesn't work with my ht-03a, perhaps either because vector maps aren't supported, or because I'm doing it wrong. Maverick will also cache them. Either way, I'd rather know for sure that I've downloaded any maps I need before I am in an area with no connection, rather than zooming around the entire area and hoping all the tiles get cached properly.
It is actually not hard at all to create these. I ran across this post and basically followed the directions for using Mobile Atlas Creator, a cross platform open source Java application, to create the maps. You must check every zoom level you want to display, like in the below screenshot. You can click and draw a box or directly enter lats and lons. In this case I used one simple rectangle, but you can also draw many rectangles and click the "add selection" button after each one to create a custom shape that follows trails (for example). Drag the map around by holding the control key and clicking.
sqlitejdbc-v056.jarfrom here and placed it in the Mobile Atlas Creator root directory.
Maverick is much more feature rich than rmaps but also a bit heavier. There is also Maverick Pro. A downside to Maverick is, in addition to being a bit sluggish, the way it caches tiles as individual files. The map I created of central Tokyo has over 16,000 individual little files. Depending on the sector size of your SD card, this could really balloon the total file size when copied to your phone. It also takes longer to copy and delete. Rmaps has one single file, though it is still using tiles.
Place the rmap file in the root of the SD card as follows:
rmaps/maps/Custom Central Tokyo.sqlitedb. For Maverick, unzip the file and place then contents in