Galileo works fairly well. It shows you a map that you have either cached or that you've pre-built and loaded onto the device. It works online, downloading Open Maps, or you can choose from many map sources when building your own, such as Google.

The level of details you include is totally up to you, but it can add significant time (hours) to map creation - downloading tiles AND assembling them. Once you've downloaded tiles they're stored in a tile DB so if you re-use that area of the map, those tiles won't have to be downloaded again when building.

I'm currently generating a map of Portugal and it's currently at over 1.3GB and still have some 15 minutes to go. I's been downloading tiles and generating the map for at least 4 hours now. The detail level of the program goes up to "19" whatever that means. I'm generating with tiles up to level 16, the same I used for a map of the greater Toronto area, up North to Orillia and South East through Buffalo. That map set ended up at over 500MB.

It seems that unless you want to do only a single small city, this is a really heavy amount of data to carry around. It also takes a ton of time to pre-generate what you need, though the results are infinitely better than OffMaps when using Google's tiles.
_________________________
Bruno
Twisted Melon : Fine Mac OS Software