If you're a developer who loves to build mashups - especially map mashups - then you have to check out the library provided by Mapstaction. (And if you're end user, wait until you see the demos!) Mapstraction is library that provides a common API for various mapping APIs already in existence. This allows developers to use the Mapstraction API to build a mashup that supports nine of the major mapping providers including Google Maps, Microsoft's Virtual Earth, Yahoo Maps, and more.

There are several reasons why a developer might want to use the Mapstraction library to build a mashup. For one, they would only need to code their apps once and then they could switch the mapping provider as necessary when their project's needs changed. A ProgrammableWeb post points to another possibility, which is that Mapstraction allows for building a map where the end user could select which mapping provider's base they want to see.

In addition, Mapstraction "fills some holes each provider's current offerings" - meaning if a certain mapping provider doesn't offer a particular feature that another one does, Mapstraction turns to open source solutions (for the most part) to provide the feature needed.

Those are the technical details, but what's really impressive about Mapstraction are the demos. Take, for example, this demo, a single page showing several maps. As you move around in one map, the other three also move simultaneously to reflect the changes that take place in the map you're using. This is a great way to view comparisons of the different mapping systems side-by-side.

Another feature of Mapstraction allows for tile layer support. This feature lets you toggle different overlays on top of a mapping provider's map, like this one. Clicking the links below this map let you toggle different overlays on top of the Google Map to see maps from 1950, 1912, and 1877.

This demo takes you to a full screen map where you can switch from mapping provider to mapping provider by selecting the name in the box displayed in the bottom-left corner. (Note: to exit the demo, you'll need to know your browser's keyboard shortcut to go "back").

Mapstraction isn't exactly new, having debuted back in 2006. It's currently in use in places like the UK's Nestoria, Mapufacture, Reuters Labs, and even powers a WordPress and MT plugin called GeoPress, which adds geo-tagging to your posts and pages.  However, we would like to see some more Mapstraction mashups - so if you've built one, let us know in the comments.