Monday, March 16, 2009

How to transfer your Google Maps favourites to your Nokia phone?

This tutorial/guide is meant for people using Nokia S60 phones and want to get their Google Maps placemarks on their phones to use with Nokia Maps. This could be particularly useful for people who mark all their places of interest before going on a trip and later want to get all those places on their phones!

A Little Background on Why this tutorial is here in the first place
Google Maps and Google Earth work with KML(Keyhole Markup Language) to store the locations of all user-generated(you) content. Or rather, more correct would be that they can give you the data that you've collected in this KML format, which btw, has been adopted as an open standard for storing geospatial information by Open Geospatial Consortium in 2007.

Now, Nokia comes along and launches a slew of powerful phones which are capable of tonnes of features and one of them happens to be that of GPS . The newly released higher end phones come bundled with a GPS receiver which can tell you your location and combined with applications like Nokia Maps and Google Maps(for mobile), the location of things around you. In view of this generosity showered upon us, people (read geeks) start exploring the possibilities that this newfound power promises.
One of the possiblilities could be to just save all your favourite(interesting) places around you while you are surfing the net on the desktop.This can be achieved through Google Maps and while you're on the move you can probably just look them up on your phone and truly exploit(or at least feel that way) the power of GPS on your phone.
The thought is good but Nokia is a BITCH! They don't use KML (like the rest of the world does) to store geospatial information(your placemarks on Google Maps). Instead, they use .LMX format which is just XML spelled backwards and is also an XML structure like KML but slightly different. So, in order to get all your placemarks on Google onto your phone, you need to find a way to get your KML converted to LMX format which is Nokia readable.

Here's how you go about it.

The Tutorial
  1. Go to google maps, you might have made 'maps' of your favourite places?E.g. I have a map of all the places around my house. Select the Map which contains your favourite places. Alternatively, you'd have to create a map of all the placemarks that you want on your phone.
  2. After you have the maps in place, open one of the maps and copy the link location of the rss feed link .
  3. Paste the link into a new tab and append "&output=kml" to the link. Hit enter. You should see a download notification for yourMapName.kml. Download and save this .kml file.
  4. Go to this site and browse for the saved .kml file. Then, click 'Convert to LMX'. This time you'd get a download notification for a .lmx file. Download and save this file.
  5. It would seem that all is done now and we just need to transfer this file to our phone and things would all work out, right? Sorry buddy, there's a little bit more effort that you'd have to put in. The amount of effort would also be based on how well you've maintained the description and all other metadata of your placemarks in the map.
  6. Open the file in any text editor( I use Notepad++)In line#3 there's a missing tag so paste "" (without quotes) in line#3.If you've entered the name and description of your placemarks yourself, the chances are that the file is good to go! Just save it and transfer to your phone. The phone should be able to recognize all your placemarks.
  7. If there's an error on the phone, chances are that some html tags have creeped into your .lmx file. You'd need to manually remove these html elements then transfer the file to your phone again. The file should work perfectly in the phone now.
Asides
Chances are that your google map would have a lot of crap placemarks that you'd have saved without giving a proper name and description. If this is the case, there would definitely be unwanted HTML elements in these placemarks which would be a problem. The best thing to do in this scenario is to simply delete the whole "" node to get rid of that placemark.

Hope it helps! Please share your experiences with this tutorial and if you find any other workarounds.