My current project at work is creating a map of campus using Google Maps API. So far the experience has been decent. It’s taken me about two weeks to get most of it working. Could have been less, but there were a few things I had to do to work around the API’s limitations. So, here are a few of the pro’s and con’s I’ve found.

Pro’s

It’s really easy to draw overlays, and paths, and all kinds of stuff using Google Earth. You then can pull the resulting KML files into Google Maps. It’s a slick way of creating maps. As long as you don’t mind the few limitations that come with it. More on that later.

The API has good documentation. It’s way better than many other API’s documentation I’ve seen. It’s not perfect, but it is good.

The Google Group for version 3 of the api is decent. I got enough help there to push me through some of the issue’s I had.

It’s free! I believe that if you are going to use it in a product that makes money in a certain way, you have to do something to license it, but for my use, and most others, it’s free!

Con’s

The satellite photo’s are not up to date for my campus. They are over 5 years old, and a lot of things have changed. That said, I understand why. It’s hard to get good satellite pics.
You have to have your KML files on a public server for Maps to process and show them. This means that you can just test them on your local machine, it has to be a server. It was annoying having to upload things over and over…

There is no build in method of adding labels to anything. I think they assume you are going to use an infowindow or pushpin marking. But that’s not what I needed. I needed actual text on top of different buildings. As far as I could tell, there’s no way to do that. I ended up having to create images of my text, and then create image overlays to display them on the map. Clunky. I really don’t like it.

There is no simple method to tell Maps what order to z-index/stack your polygons/overlays/paths/etc. The only thing you can do in that area is when you have multiple infowindows open, you can set their z-indexes. I did find one persons example map that managed to do it for some polygons, but I wasn’t able to get it to work. Thus, my text labels were initially displaying underneath the polygons and were hard to see. I had to create a custom overlay to get them to show up on top. It’s just clunky and wierd.

That’s also why I ended up not using KML files to define all my map objects. I had to use the javascript functions for everything. Which resulted in a javascript class that manipulates the Google API. That just doesn’t feel right to me, but it was the only way I could get the labels to show up right.

Conclusion

In spite of the fact that I have more con’s than pro’s, I really like Google Maps. It’s an excellent service. I did check out both MapQuest and Microsoft’s mapping services. From the documentation, they don’t have nearly the power that Google does. So, if you need an interactive map, Google Maps API is a good tool to use.