The march Dr. Dobb’s Journal has an article on mapping: “My Map: A Portable API for Maps”
In it, Lionel Laské develops a (LGPL licensed) cross-provider API for drawing maps in web applications:
MyMap is the portable API I created to display maps in a web site with either Google Maps, Yahoo Maps, or
Microsoft Virtual Earth. Here is the pseudointerface of this API in JavaScript. Each function matches one of
the aforementioned features:void MyMapGeocode(address, callback);
void MyMapInitialize (mapname, lat, lng, zoom, mode);
Object MyMapAddMarker (lat, lng, markertype, info);
void MyMapRemoveMarker(marker);
void MyMapSetZoom(zoom);
void MyMapGoto(lat, lng);
void MyMapTerminate();
I haven’t had time to try it out yet but it looks like a very nice abstraction layer providing the basic mapping functions across providers – it doesn’t take advantage of what each provider differentiates on, but focuses on what is core – ability to create maps, add markers, set zoom levels, and find locations.
The source is available from Dr. Dobbs Source Code Page – choose 2007 and then download 07003.zip (March 2007).
Scott Ambler’s “Agile Documentation Strategies” is also well worth reading, on the importance of good documentation within an agile process. (And no, agile doesn’t mean writing no documents).