Google Maps vs Mapstraction, pt II

This was going to be part of an earlier post, but should now stand alone.

When we’re not working on free geodata creation for OpenStreetMap, we like to make the best of the current free beer commercial mapping APIs to make neat things like GPX viewers and pub maps. In the light of some of the more amazing Google Maps mashups out there (here’s a recent decent), these sites might seem underwhelming, but if you consider how quickly they could (or couldn’t) have been put together a year ago then it’s clear that thanks to Google Maps we’ve come a very long way.

Tim O’Reilly recently asked the Mapping Hacks people, and others, why Google Maps was so much more popular than all the other APIs available. Schuyler pretty much nailed it, though after my Mapstraction research I think he’s too generous towards Yahoo and Microsoft.

I note with disappointment that neither Yahoo nor MS offer polyline support, which leaves my desired cross-vendor demo of a GPX viewer dead in the water. It also means that anyone requiring that functionality for drawing routes or boundaries is stuck with Google for the time being. Ironically for Google however, their recently developed open source Explorer Canvas might offer a cross-platform way for Y! and MS to compensate for this. Further disappointment with alternatives to Google Maps comes with the realisation that Yahoo’s maps only cover North America so far (although I was pleasantly surprised to find Microsoft is the only provider to give any road or placename data outside of North America, UK and Japan).

Microsoft’s Virtual Earth SDK feels clunky to code with, shirking the fashionable javascript idioms which help make Yahoo and Google‘s offerings feel elegant, and their API is completely malnourished with regards to easily placing nice looking map pins. Sure, it might be flexible, but Google and Yahoo’s offerings look good out of the box which is really important. (The same can be said of the developer documentation, too).

Whilst looking at all of this I took a look at OpenStreetMap’s slippy maps interface to see if I could allow plotting of pins. Unfortunately, although the Civicmaps code base we started with supports plotting GeoRSS, it looks like in the process of adding in support for Mercator projection that the marker features were broken. This means that for an OpenStreetMap-powered javascript maps implementation you can put on any website, there is still lots of work to do. However, following this exercise I’ve discovered that if anyone wants to seriously compete with Google in this space, then we all have a lot of catching up to do too!

Tom