Build Agnostic Map Mashups with Mapstraction

Andres Ferrate
Jul. 03 2008, 12:30AM EDT

If you're getting ready to get create a map mashup, but you can't quite decide on which mapping API to use, you may want to check out Mapstraction. Mapstraction is described as:

A library that provides a common API for various JavaScript mapping APIs to enable switching from one to another as smoothly as possible.

In essence, Mapstraction allows you to build a map mashup that is not bound to any one mapping API and its provider, such as Google, Microsoft, or Yahoo!. Why would you want to be "API-agnostic" when developing a map mashup? Well, in addition to giving your end users freedom in selecting which base map they see, you can also use Mapstraction to easily switch your map mashup to a different content provider should the terms of use change or if the service becomes unavailable.


At present Mapstraction provides support for APIs from the following nine providers:

That's quite a list. In addition to being able to add GeoRSS and KML overlays to your maps, you can also do some geocoding and routing.

Check out our Mapstraction Profile for background on the API. You can check out all of the features that are available via the Mapstraction API documentation and there's also a Wiki with additional information.

Some other things to note:

One of the corporate sponsors of Mapstraction is Nestoria, a property search engine in the UK and Spain which we profiled in our mashup case study last year.

Andres Ferrate




  • Allowed HTML tags: <a> <em> <strong> <cite> <blockquote> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Lines and paragraphs break automatically.
  • Web page addresses and e-mail addresses turn into links automatically.

There are some good tutorials out there for getting started with Mapping using Mapstraction:

<a href="" rel="nofollow">Get To Grips with Slippy Maps</a> by Andrew Turner (me)

and more application focused:

<a href="" rel="nofollow">Unobtrusively Mapping Microformats with jQuery</a> by Simon Willison