KML from Google Maps
- By Jessica Lord
- maps, web dev
Map of train, bus, walking and hiking from Wellington to Kaitoke and Rivendell in Wellington, NZ
Mapbox makes great software and beautiful maps (see above!). This is why I didn't attempt to just do the whole thing in Google Maps. I used Mapbox's online map making tool, Editor, which accepts
kml, the format that Google Maps use. However:
You cannot export
kml from regular maps.google.com.
I learned that the only way to export
kml from Google Maps was to log in and create a map in the My Maps option. However:
The maps in My Maps do not support transit directions.
Which was a bummer because I was wanting to include the train and bus routes in my map. Fortunately the bus route was relatively simple so I opened it in Google Maps in one tab and then drew the route in My Maps by drawing lines that snap to roads (lines don't snap to roads in Mapbox Editor). I drew the train route with straight lines directly in Mapbox Editor.
Next, I selected to export as
kml. Then selected the layer I wanted to export.
At this point you'll see that you actually get a compressed
kmz rather than
kml. You'll need to do a few things in order to get at that
kml. Change the
kmz extension to 'zip' and unzip it. Inside you'll find a few files. You can do this via terminal:
# copy it as a zip file, keeping original just in case cp downloadedMap.kml downloadedMap.zip # unzip it unzip downloadedMap.zip # rename it, if you want mv doc.kml myMap.kml
Now you have a couple image files and a
doc.kml. The latter is the
kml you want. You may want to rename it at this point (especially if you're doing this multiple times) and trash the images. Now you can import this
kml into Mapbox Editor and style it, hurray!
I also ended up using the Google My Maps to trace a path from satellite images because the Mapbox tiles didn't zoom in as close as I wanted. There was a lot of trial and error in my discovering each of these things and the map took way longer than it should have, so I hope this helps someone else!
Let me know if there are better ways of getting data from transit directions, snap-to-road lines and good satellite imagery (@jllord).