How to get maps for off-line usage? I spent almost entire day looking for decent apps for maps (decent = free, up to date, being open-source is a plus).

I ended up with TrekBuddy, GoPenS, RMaps, Maverick, OruxMaps (the emphasized ones look the best, in my opinion).

However, now I have another problem -- how to prepare maps for those apps (please help me with one, and hopefully I will manage the rest) for off-line usage?

I would like to go on a ride, pick up the phone somewhere in the forest and see on the map where I am. For now it works only with internet connection, but without it I have a huge-scale map and after zoom-in blank space or "loading" icon.

In short -- QUESTION -- how to feed phone/apps with maps, so I could zoom-in/out map freely when I am in the wild (offline)?

I would like avoid tricks like relying on caching -- so "solution" to scan interesting region with all possible scales and in such case acquire off-line version of the map is a no-go!

Clarification: I am not looking for another app (however thank you for the hints/links), I am looking for maps (data). I want to get map from on-line version (which are automatically downloaded) to off-line one.
OsmAnd (on Play store or F-droid.org (version is sometimes a little behind)) has those features:


Fully open source 
Fully offline (w/ option for some online features)
Play Store: Limited to 16 downloads (free) or costs ~6EUR (for funding)
(build it yourself or use a nightly build if don't want to pay or use the free one)
Offline vector maps:


based on Openstreetmap data
create your own with OsmandMapCreator
many pre-built areas available with in-app downloading

Online tile-based maps (data-caching plugin for GMaps/Bing/Yahoo/ and 25? others)
OSM integration (bug report, GPX uploads, live editing)
Voice guided offline navigation
GPX tracking


The unlimited app (in Google Play) costs a small fee (around 3EUR) to fund the project. Please consider buying it once you tested the free version and like it and don't just leech the nightly if you don't just want to test the bleeding edge features. You can of course also build your own (its FOSS).