Offline Maps Tile Viewer is a program I created quickly to use my netbook for viewing google maps without a network connection. I found frustrating not to be able to have full control over the cached images using web browser or google earth. Other different offline map viewers did not satisfy me.
My requirements were simple: there are a number of square (or rectangular) images which can be tiled together to construct a huge image; a viewer must have a viewing area moving around over this huge image; images can have different layers (as satellite, maps, topo etc) and different scales better or worse resolution; it should be possible to geographically reference them, i.e. have latitude/longitude coordinates associated with a position on the image. Cross referencing is necessary to switch between different resolution scales - hence geo-referencing is a natural way for that. Also images should not have some strict predefined format or organization, it is just a collection of small images named and grouped in directories in a particular way.
It might not be very easy to start with it, but once you understand how it works, it gives you full flexibility of what is required from a simple map browsing program. You can even add GPS dongle and bind the viewer with the position obtained from GPS.
One of the delicate problems is maps itself. It is very easy to download automatically (more on this here)
from google maps; but it is not very polite, and distributing is not too.