The project originally started with just three providers: Google, Yahoo, and Microsoft; and was developed by three developers: Tom Carden, Mikel Maron, and Steve Coast. At the time, it was succint and easy – using constructs such as switch statements in a single mapstraction.js file.
Over time, as more providers were added – this became quite unwieldy. 11 case statements in any method, various callback hooks necessary, and in general quite slow to load and run for the client.
New Code Neighborhood
In order to start promoting the new API and encouraging developers to come and help out, we put the source code and tickets into a Google Code project. Although, being Subversion, you still have to submit patches to get changes accepted for now. So I personally suggest working from the Github version, which will be kept up to speed with git-svn, and then you can submit patches from here to push into the ‘official’ subversion repository.
The demos on the Mapstraction homepage do well at showing the capabilities of the library, but are difficult to maintain and users and potential contributors can’t really play with them at all. So as part of our Where2.0 workshop, I put together a Mapstraction API Sandbox, built with Google’s AJAX API Playground, and running on AppEngine.
There is definitely a lot of recent excitement around the API. We decided to use Mapstraction as the basis for our own GeoCommons Maker map integration – making it easy for developers to work within a common framework (demo). So get started contributing!
- MapQuest support in Mapstraction
- Mapstraction updates – Time Navigation, Polyline, FreeEarth
- Mapstraction adds support for OpenLayers
- HowTo: work around GoogleAPI single directory limit
- Ruby and Mapstraction