Mapstraction
Mapstraction.com is a javascript library which abstracts away the differences between online mapping APIs from major players (i.e. Google, Yahoo!, Microsoft, Multimap and Map24) and frees up developers from changes to terms and conditions, degradations in performance, addition of ads, etc. In addition, we hope to allow people to switch seamlessly to a Free and Open data set from OpenStreetMap when it becomes available.
There is a small amount of code on the front page illustrating how things might work, and development is active right now. We are hosting code using subversion, and discussion is currently active on the mailing list. We use Trac to host a wiki (you're reading it now), browse the subversion repository and to keep a road map. Feel free to contribute, and please join the list and introduce yourself!
How?
The idea is that if you can stick to to lowest common denominator features offered by all mapping APIs, and you use the API defined here to access them, then you can swap and change between different mapping providers with one line of code. We also hope to provide utility functions for common formats and provide a common API for Open Source mapping projects (e.g. OpenStreetMap, potentially WorldKit) to work with so that they are fully interchangeable with commercial offerings.
Documentation?
See the API defined here. Also, there are tutorials on Building Slippy Maps with Mapstraction and Using Microformats, jQuery, and Mapstraction. Another tutorial is available here. tutorial. The O'Reilly Shortcut Introduction to Neogeography gives an overview and examples of using Mapstraction in a site. It also covers other important information such as KML, GeoRSS, GPX, geocoding, and so on
Who?
Mapstraction.com was kicked off by Tom Carden and Steve Coast with much encouragement from Mikel Maron. It is now administered by Andrew Turner and actively used in many projects. If you're interested in helping out, join the mailing list, and check out the active progress and tickets.
Where?
Mapstraction is showing in a lot of projects that want to provide different maps for their users and write to a simple, effective API. Have a look at some SitesUsingMapstraction.
What Else?
We aren't affiliated with OSGEO, but there is a cross-project web mapping mailing list there discussing very similar issues.
We are collecting mapstraction-related bookmarks on delicious at http://del.icio.us/tag/mapstraction.
