50 JavaScript Libraries and Plugins for Maps
I really like maps and today I want to list some of the best JavaScript frameworks, plugins, and libraries for making maps. Over the last few months, I have written a bunch of articles and demos on some of these JS mapping libraries but creating this compilation has opened my eyes to many more map APIs, jQuery plugins, and mapping solutions that I have not previously seen. Some of these map tools can really reduce the amount of effort needed to produce interactive maps. Many of these tools allow you to implement all kinds of dynamic maps with just a few lines of code. Here is a list of the top 50 JavaScript libraries and tools for making maps:
Leaflet – one of the best open-source JavaScript libraries for creating mobile-friendly interactive maps. It is relatively small with a ton of features, plugins, straightforward API, and it works across all browsers and platforms. Here are some Leaflet.js demos.
OpenLayers – another great open source map library with a ton of features, examples, and documentation. It supports a wide range of data types and makes it easy to create dynamic maps on web pages. Here are some OpenLayers examples. Also, check out the new OpenLayers 3.
MapBox – a really great cloud platform for creating and sharing beautiful interactive maps. It has some amazing map tiles, great features, and a ton of examples. They are also the creators of TileMill, Wax, and UTFGrid. Check out some of these MapBox demos.
Google Maps – probably the most popular Mapping library and they have recently released the version 3 of their API. They have great documentation and a ton of examples. Personally, I love their street view and other map types like 45 degree tilt which you can see in this demo of Google Maps.
ModestMaps – a very nice and fast JavaScript mapping library from the makers of MapBox. It might not be a complete solution to all mapping needs but it is free and lightweight, with a simple API which you can easily use to create wonderful interactive maps. Check out some of these ModestMaps demos.
PolyMaps – a free JavaScript library for making dynamic, interactive maps in modern web browsers. It is a pretty small library created to be fast and support multi-zoom datasets over various tiled maps. It uses SVG which means that it will not work in IE7 and IE8. Here is my map demo with PolyMaps
D3 – a JavaScript library for binding arbitrary data to the DOM using SVG. It might not sound like a mapping library, but D3 supports many components for working with geographic data and geo projections. It is one of my favorite libraries and I have written many demos and examples of using D3.js for making Maps.
DataMaps – interactive maps for data visualizations bundled into a single Javascript file. It is SVG-based, can scale to any screen size, and relies heavily on D3.js.
RaphaelJS – a small JavaScript library that simplifies working with vector graphics on the web. It is similar to D3.js and can be used to make SVG maps. Here is an example of using Raphael to plot country capitals on a world map.
jVectorMap – a jQuery plugin developed by Kirill Lebedev which lets you easily create vector maps with SVG and VML. It works across all modern browsers and comes with a bunch of maps plus a Python converter that can be used to create new maps. Here is a post on creating maps for jVectorMap.
JQVmap – a jQuery plugin that renders Vector Maps with SVG and has legacy support for Internet Explorer 6-8 via VML. It is a heavily modified version of jVectorMap and here are some extra maps for the JQVmap plugin.
GeoChart – Google’s vector mapping solution which uses SVG and VML to render the map in the browser. It can be used to create a map of a country, continent, or a region but the maps are not scrollable or draggable.
Nokia Maps – the HERE Maps API for JavaScript allows you to build web apps with feature rich interactive maps. The APIs cover functionality that has to do with maps, places, positioning, routing, and traffic. Their API Explorer provides a lot of neat demos and examples.
MapQuest Maps – many mapping solutions and tools from MapQuest. You can use the Map Builder or check out their JavaScript Maps API.
Bing Maps – a mapping solution built for enterprise. It’s a bit disappointing that you cannot play around with the API but a public website using up to 125,000 billable transactions per year qualifies for free use. You can check out the features and get a trail API key here
AmMap – a robust interactive HTML5 maps library that works on all modern browsers and platforms. It has some great examples that you can open up in jsFiddle and it includes a free and commercial version of the library.
GeoPrisma – a web mapping application with security on sensible datasets.
GeoExt – a JavaScript toolkit for making rich web map applications. It basically combines OpenLayers with Ext JS to simplify creating GIS and mapping web apps with JavaScript.
Mapstraction – a Javascript mapping abstraction library that can be used as a single interface for various JavaScript Map APIs.
gMaps – a feature-rich jQuery plugin that makes it easy to consume the Google Maps API. It comes with great examples and well organized documentation.
Kartograph – a simple and lightweight framework for generating SVG maps without any other mapping services. Kartograph.js is a JavaScript library for creating interactive maps based on Kartograph.py SVG maps. It is built on top of Raphael and jQuery and it gracefully degrades to Internet Explorer 7+.
ArcGIS API for JavaScript – a lightweight way to embed maps and tasks in web applications. It comes with a ton of features, samples, bundled widgets, and templates. Here is a good ArcGIF Boilerplate.
ViaMichelin JavaScript API – gives users access to high quality maps, car and pedestrian itineraries, and much more. ViaMichelin is a subsidiary of Michelin Group, started in 2001 to represent Michelin’s digital mapping services.
Geo5 – interactive maps using HTML5 data tags. It comes with lots of demos and examples.
Cesium – open source JavaScript library for creating 2D and 3D globe-type maps in a web browser
WebGL Globe – uses WebGL to create a globe which supports mapping various data and geographical locations
OSMbuildings – A JavaScript library for visualizing 3D building geometry on interactive maps
Stately is a symbol font that makes it easy to create a map of the United States using only HTML and CSS.
Clickable Maps – CSS & jQuery clickable maps for various countries and continents
jHERE – simple but powerful map API in the form of a jQuery (or Zepto.JS, or Tire) plugin.
MapQuery – a jQuery plugin that combines the power of OpenLayers and jQuery to easily create online maps.
Jump – a lightweight and standalone jQuery map plugin.
jQueryGEO – an open-source geospatial mapping project and jQuery plugin from Applied Geographics that provides a streamlined JavaScript API to create a wide variety of maps.
jQuery Mapael – a jQuery plugin based on raphael.js that allows you to display dynamic vector maps.
initmap.js – a tiny jQuery plugin for quickly embedding Google Maps
jQuery Birdseye – a plugin built with jQuery and Leaflet for replicating the “search in map” functionality of Yelp, Airbnb, and Google.
Maplace.js – small jQuery plugin for creating Google Maps with nice features and demos
jMapping – a jQuery plugin for creating Google Maps from semantic markup
GoMap – a simple Google Maps jQuery plugin
Gmap3 – leverage the power of Google Maps 3 with the simplicity of jQuery
bMap – a jQuery plugin for Google Mapis API V3, with support for many markers, layers, and custom marker icons.
MapEscape – a very small jQuery / Zepto plugin for maps that detects if your map is obscuring the entire screen and implements a scrollable area to improve usability on mobile devices.
GeoComplete – jQuery Geocoding and Places Autocomplete Plugin
Map Marker – a jQuery plugin that makes it easy to put multiple markers on a Google Map
QuikMaps – quickly create Google Maps with custom markers, lines, icons, and scribbles.
CrowdMap – hosted service for mapping anything on the web with a focus on a more social mapping experience with better support for multimedia, sharing, and mobile.
AniMaps – extends Google Maps by letting you create maps with markers that move, images and text that pop up on cue, and lines and shapes that change over time.
MapBuilder – lets you tag locations on a map and publish it on your own site
Click2map – Create maps and add your own points of interest in just a few clicks.
ZeeMaps – Create and publish interactive maps with a robust user interface and support for data in various formats.
If you are looking for more mapping resources, please check out some of the links below:
Update:
Simple Map D3 – easy “choropleth” style maps with D3.
mapeal – a jQuery plugin based on raphael.js that allows you to display dynamic vector maps.
External:
Stamen Maps
Cartographer
Polaris, a Map Library for Android
geolocation jQuery plugin
jQuery Automatic Geocoder
imageMapster jQuery plugin
Responsive Google Maps
Markers fusion service for online Maps
US Map JQuery plugin
Map Icons
Map Tales
Interactive World Maps Demo
mapSVG
POI auto Maps
Web Component wrapper for Google Maps using Polymer
20 Cool WordPress Google Map Plugin Collection
How do various JS mapping libraries compare