Offline Maps on 2.0

September 5, 2008

First a bit of background. Offline maps have been available for some time, basically you can add a pre-downloaded area to your iPhones cache, and then view these maps even when you are unable to get reception. To make these maps you will need GMDL.  In 1.1.4, and now 2.0, apps would take your cache and overwrite the iphones cache. This meant making a copy of the whole cache which essentially doubles the size of your pre-downloaded maps and takes a long time. There is a better method in many respects, and this is what I want to talk about. The method uses symlinks, which are similar to shortcuts in windows. Basically you keep the cache in your phone, and then make a symlink which essentially tells the phone to look at the custom cache instead of the original one. This takes just a second and doesnt take up any more space once done. You will need a your map cachethat you got from GMDL, name it something like MapTiles.sqlitedb.nyc or MapTiles.sqlitedb.lon. Download something like DiskAid and copy that map too

/private/var/mobile/Library/Caches/

Then delete anything else in that folder. Now you need to instal Mobile Terminal, you will find this in Cydia, instal it and restart your phone just to be safe. Open MobileTerminal and type these commands, please note it is really easy to get these wrong, so go carefully.

cd /private/var/mobile/Library/Caches/MapTiles/

Press enter, then type

ln -s MapTiles.sqlitedbnyc MapTiles.sqlitedb

Note that the first letter is small cap L. And remember the spaces. Also change the nyc in that last command to the name of your file.

Go to your Maps app and you will notice that new areas load faster. If you are experienceing difficulties you can check out this thread at Hackint0sh, or leave questions here. If your map stops working then just repeat the MobileTerminal commands again.

Thanks to volkspost for this method!