Google Maps to Garmin eTrex

In this post I describe my experience with using Google Maps to create tracks/routes for bicycle touring for my handheld Garmin GPS.

My first challenge was that I wanted the ability to save the itinerary in My Maps so I could edit the itinerary at will.

It took me a day or so to realize that if you select "avoid highways" in the Google Maps advanced search options the link to save the map to My Maps will magically and silently disappear. Also, if you exceed 25 points (including destinations (A, B, C, etc.) and custom points (white circles) you will not be able to save the map.

My solution is to manually avoid highways and use one map for each day of a trip. Single-day maps also makes it easier to use on my GPS device. I prefer to have single-day segments instead of one big monolithic itinerary on my GPS device. I'm left with the annoyance of not being able to use the avoid highways option.

My next step was transferring the map to my Garmin device.

Google Maps has an option to send the information directly to a GPS device. With a Garmin device, you need to first install the Garmin Communicator plugin which works with Internet Explorer or Firefox. I use Chrome *sigh*. While the plug-in allows you to transfer way points and routes, the Google Maps implementation limits you to single way point. So if you want be able to transfer the route using Google Maps this makes the Google Maps + Garmin Communicator option pretty useless.

An alternative is to use MapQuest (which I don't like at all). MapQuest can transfer routes. However, it will only transfer your destinations (A, B, C, etc.) and create a route in your Garmin device, leaving your GPS to do the routing calculations. I'm not a big fan of the route calculations of my Garmin eTrex Vista. I usually want to fix the exact streets I'm going to use before the trip. Editing on my GPS device is not an option for me. So Map Quest was not a good option for me. It is also far inferior to Google Maps for bicycle touring since that it lacks the Google Maps street view option. With Google Maps I can verify if a certain roads on my itinerary have decent shoulders or generally look safe for biking which is very important for me.

The Garmin Communicator plugin is useful to upload single way points from Google maps to your Garmin device. I use it for that purpose i.e. upload campground coordinates, places to visit, etc.

In order to upload my route to my Garmin device, I ended up using two additional free tools. I generally don't like Garmin tools such as Map Source and find it frustrating to search for software downloads on their web site.

My solution is to convert my Google Map into KML and then upload the KML on my Garmin device.

First you need to convert your Google Map data into the Google earth KML format. You can do so using the free GPS visualizer online tool. Make sure to select the output format to ".kml" and not ".kmz". KMZ is a zip format for KML and the next tool I'm using doesn't support compressed KML. The input you provide to the on-line application is simply the Google Maps link. Make sure to give the link you would paste in an e-mail from the "link" button at top of Google Maps. Do not provide it the link in your browser address bar at this will most likely not work.

GPS Visualizer will be able to download the required information to produce the KML file. Download the KML file. You can visualize it using Google Earth if you have it installed on your computer.

The second tool is GPSBabble, free software under the GPL license. I recommend you to download version 1.3.7 or more recent even though at this point it is still branded as beta. For the input file select Google Earth (Keyhole) Markup Language. Provide it the KML you downloaded from GPS Visualizer. In the translation options pane select Tracks. In output, select Device ad Garmin as the format. Click apply and voila!

You will end up with tracks, and not routes. Personally this is exactly what I want. If you really want a route, and not a track, you can select "Convert tracks to route" in the filter options. However, you will most likely run out of way points.

Hope that helps,

Note: There is also a trick to append &output=kml to the Google Maps URL in order to obtain the KML file. However, this seems to discard all destinations except destination A and destination B.

Labels: ,