I am working on a web-based mapping system and I'm trying to figure out which library to use.
These are links to comparisons of available libraries:
- Laurent Jegou's benchmark (from 2010) is a global outlook on web mapping solutions (both client and server).
- comparison of FOSS libraries by German Carrillo can be found here:
The list of libraries so far:
- Google Maps
- Microsoft Virtual Earth
- Leaflet - "The comment smaller, faster, newer, and more straightforward can also be read as less features and less tested." -Geographika (see below)
- Yahoo Map API's
- Via Michelin
- OpenLayers - Extensive documentation and a good amount of functionality plus the ability to use different map providers.
- Mapstraction - Makes things very simple, especially working with multiple basemap providers. However it is still a work in progress and the functionality is lacking in places, as is the documentation. (E.g. "A GeoJSON object with the type “FeatureCollection” is a feature collection object." Not very informative.) It appears that it is still being actively developed but as of 4/4/11 there hasn't been a commit on Github since January.
- Jump - jump is a light weight maps library that works on its own, meaning, it is not a wrapper for OpenLayers or GoogleMaps API. Currently it is under development, but a lot of essential features work well.
- ModestMaps - Another smaller, faster, newer JS mapping library from the makers of Mapbox and TileMill.
OpenLayers is the one I am currently using. You can do a lot with it and it supports most data types. However it's not the best for everything. For example, Leaflet seems smoother in many ways, with image fading and other visual tweaks. If you're into jQuery you might like to check out MapQuery which is like a combination of jQuery and OpenLayers.