I am using GPS along with Google Latitude + Google Maps on my Nokia E71. It has much better and detailed maps as in it shows even names of shops, roads and parks e.g. it shows gourmet bakery, XYZ medical store, names of banks etc. It is a free solution if you have a GPS cellphone (iphone 3g, nokia e71/e90, htc tytn II, diamond, touch pro and the list continues)
Another advantage of Google Latitude is that I can track my family members realtime (with exact locationupto 5 meters accuacy) and they can trace me while on the go and even though internet! and in case I do not want anyone to see my location I can always disable it or set a fake location;)
Btw all this is completely free....you only need to have GPRS activated on your phone(I have unlimited package for Rs. 500/month)