When we started building Lizard, there weren’t much mapping libraries to choose from. So we built it around OpenLayers, which is still a very powerful web mapping toolkit.

Then came Leaflet, which I used for several quick experiments such as a split screen feature (not publicly demo-able).

Image

I opted for Leaflet because of the simple API, which is comprehensive and complete, especially compared to the OpenLayers documentation.

Our Lizard software is quite closely-coupled (as opposed to loosely-coupled) to it’s mapping solution, so we had major problems shifting to Leaflet.

I’ve been thinking about an abstraction layer, but it seemed like a lot of work and maintenance. Fortunately, I just ran across Mapstraction, which does exactly that: an interface above Leaflet, Google, OpenLayers and many more. Have a look at their sandbox or at mapstraction/mxn at Github.