Estimated read time: 2 minutes
So a friend of mine showed that he has an offline map on his non-smart phone. A googled for mgmaps and figured out how to use it as well, but it wasn't really trivial, so I'm collecting some links here.
First, you need the mgmaps midlet itself. I read that the KML support (ie importing favorites) has been improved in the development version, so I tried that one.
Given that you must have a signed jar (or otherwise you'll get a question each time you scroll the map), I just went to this page and downloaded the signed devel midlet from there.
The second one was to download the maps I'm interested in, without using the expensive GPRS connection.
First I generated the .map file, using this page. It's really just about generating a descriptor file which contains the coordinates, wished zoom level and map type.
The second step is to actually download the maps based on the descriptor file. I haven't played too much with this, the .net gmapmaker app did the job fine. Yes, a cmdline, opensource app would be better, but I don't really care.
Now if I have a GPS coordinate, I can search for it off-line on my map, as long as it's in Hungary. :) (And the whole map is about 300MB, as I have the map for Budapest with an extra zoom level.)
The third part is about transfering the google maps directions feature to the phone: ie getting the directions on google maps, saving it to a kml file, and using it off-line (for free) on the phone.
This is partly implemented. See this thread on how to save the KML file. There is no nice blue line ATM for the directions (but they are working on it), but apart from that, you have everything.
And yes, this is completely free (if you count the .net app, then only as in beer). :)