I have already wasted almost whole day in creating offline maps for my iphone. So it was quite logical to waste remaining day in writing about ‘how to do it’.
Iphone has google maps by default and you need internet connection to use it. If you want to use maps without internet then one way to do this is to browse that map online once, Iphone will store it in cache so you can later use it without connecting to internet. But its not foolproof method. Second way is to use ‘Maps offline’ application. To use it your Iphone must be jailbroken.
‘Maps offline’ is an application which let you use google maps offline. It actually switches the iphone offline google map caches,which can be made by GMDL(Global Map Download Tool).
You can find a good tutorial here.