2012-07-18 05:41:26 +08:00
---
layout: default
title: Plugins
---
2012-07-24 06:41:55 +08:00
## Notable Leaflet Plugins
2012-07-19 00:12:01 +08:00
While Leaflet is meant to be as lightweight as possible, and focuses on a core set of features, an easy way to extend its functionality is to use third-party plugins. Thanks to the awesome community behind Leaflet, there are lots of nice plugins to choose from.
2012-07-24 06:41:55 +08:00
---
2012-07-19 06:55:21 +08:00
2012-07-24 06:41:55 +08:00
### Layers and Overlays
2012-07-19 00:12:01 +08:00
< table class = "plugins" >
< tr >
< th > Plugin< / th >
< th > Description< / th >
< th > Maintainer< / th >
< / tr >
< tr >
< td >
2013-01-12 05:28:43 +08:00
< a href = "https://github.com/Leaflet/Leaflet.markercluster" > Leaflet.markercluster< / a >
2012-07-19 00:12:01 +08:00
< / td > < td >
2012-07-24 16:34:54 +08:00
Beautiful, sophisticated, high performance marker clustering solution with smooth animations and lots of great features. < em > Recommended!< / em >
2012-07-19 00:12:01 +08:00
< / td > < td >
2012-07-19 06:55:21 +08:00
< a href = "https://github.com/danzel" > Dave Leaver< / a >
< / td >
< / tr >
< tr >
< td >
2013-01-22 08:55:40 +08:00
< a href = "https://github.com/Leaflet/Leaflet.label" > Leaflet.label< / a >
2012-07-19 06:55:21 +08:00
< / td > < td >
2012-09-25 07:53:11 +08:00
Adds text labels to map markers and vector layers.
2012-07-19 06:55:21 +08:00
< / td > < td >
< a href = "https://github.com/jacobtoye" > Jacob Toye< / a >
< / td >
< / tr >
< tr >
< td >
2012-07-24 06:41:55 +08:00
< a href = "http://dynmeth.github.com/RaphaelLayer/" > RaphaelLayer< / a >
2012-07-19 06:55:21 +08:00
< / td > < td >
2012-07-24 06:41:55 +08:00
Allows you to use < a href = "http://raphaeljs.com/" > Raphael< / a > as a layer on a Leaflet map for advanced animations and visualizations.
2012-07-19 06:55:21 +08:00
< / td > < td >
2012-07-24 06:41:55 +08:00
< a href = "https://github.com/dynmeth" > Dynamic Methods< / a >
2012-07-19 00:12:01 +08:00
< / td >
< / tr >
2012-07-19 06:55:21 +08:00
< tr >
< td >
2012-07-24 06:41:55 +08:00
< a href = "https://github.com/jawj/OverlappingMarkerSpiderfier-Leaflet" > Overlapping Marker Spiderfier< / a >
2012-07-19 06:55:21 +08:00
< / td > < td >
2012-07-24 06:41:55 +08:00
Deals with overlapping markers in a Google Earth-inspired way by gracefully springing them apart on click.
2012-07-19 06:55:21 +08:00
< / td > < td >
2012-07-24 06:41:55 +08:00
< a href = "http://mackerron.com" > George MacKerron< / a >
2012-07-19 06:55:21 +08:00
< / td >
< / tr >
2012-11-09 22:43:33 +08:00
< tr >
2012-08-16 23:31:55 +08:00
< td >
2012-08-17 00:06:58 +08:00
< a href = "https://github.com/aparshin/leaflet-boundary-canvas" > TileLayer.BoundaryCanvas< / a >
2012-08-16 23:31:55 +08:00
< / td > < td >
2012-08-17 00:06:58 +08:00
Allows you to draw tile layers with arbitrary polygonal boundary. HTML5 Canvas is used for rendering.
2012-08-16 23:31:55 +08:00
< / td > < td >
< a href = "https://github.com/aparshin" > Alexander Parshin< / a >
< / td >
< / tr >
2012-11-12 00:26:09 +08:00
< tr >
< td >
< a href = "https://github.com/domoritz/leaflet-maskcanvas" > MaskCanvas< / a >
< / td > < td >
Canvas layer that can be used to visualize coverage.
< / td > < td >
< a href = "https://github.com/domoritz" > Dominik Moritz< / a >
< / td >
< / tr >
2012-11-09 22:43:33 +08:00
< tr >
2012-07-30 07:50:44 +08:00
< td >
2012-08-17 00:06:58 +08:00
< a href = "https://github.com/sunng87/heatcanvas" > HeatCanvas< / a >
2012-07-30 07:50:44 +08:00
< / td > < td >
2012-08-17 00:06:58 +08:00
Simple heatmap api based on HTML5 canvas.
2012-07-30 07:50:44 +08:00
< / td > < td >
2012-08-16 23:31:55 +08:00
< a href = "https://github.com/sunng87" > Sun Ning< / a >
2012-07-30 07:50:44 +08:00
< / td >
< / tr >
2013-02-22 22:11:56 +08:00
< tr >
< td >
2013-05-01 17:27:43 +08:00
< a href = "http://www.patrick-wied.at/static/heatmapjs/example-heatmap-leaflet.html" > heatmap.js< / a >
2013-02-22 22:11:56 +08:00
< / td > < td >
2013-05-01 17:27:43 +08:00
JavaScript Library for HTML5 canvas based heatmaps.
2013-05-08 18:17:55 +08:00
2013-05-01 17:27:43 +08:00
Its Leaflet layer implementation supports large datasets because it is tile based and uses a quadtree index to store the data.
2013-02-22 22:11:56 +08:00
< / td > < td >
< a href = "https://github.com/pa7" > Patrick Wied< / a >
< / td >
< / tr >
2013-10-12 16:44:29 +08:00
< tr >
< td >
2013-10-14 22:51:06 +08:00
< a href = "https://github.com/dpiccone/leaflet-div-heatmap" > Leaflet divHeatmap< / a >
2013-10-12 16:44:29 +08:00
< / td > < td >
Lightweight and versatile heatmap layer based on CSS3 and divIcons
< / td > < td >
< a href = "https://github.com/dpiccone" > Daniele Piccone< / a >
< / td >
< / tr >
2012-11-30 14:54:45 +08:00
< tr >
< td >
< a href = "http://moonlite.github.com/Leaflet.MultiTileLayer/" > Leaflet.MultiTileLayer< / a >
< / td > < td >
Allows to compose a TileLayer from several tile sources. Each source is active only on a defined set of zoomlevels.
< / td > < td >
< a href = "https://github.com/moonlite" > Mattias Bengtsson< / a >
2012-07-30 07:50:44 +08:00
< / td >
< / tr >
2012-11-09 22:43:33 +08:00
< tr >
< td >
< a href = "https://github.com/openplans/Leaflet.AnimatedMarker" > Leaflet.AnimatedMarker< / a >
< / td > < td >
Animate a marker along a polyline.
< / td > < td >
< a href = "https://github.com/atogle" > Aaron Ogle< / a >
< / td >
< / tr >
2012-12-01 01:02:14 +08:00
< tr >
< td >
< a href = "https://github.com/jieter/Leaflet-semicircle" > Leaflet-semicircle< / a >
< / td > < td >
2013-01-16 23:17:03 +08:00
Adds functionality to < code > L.Circle< / code > to draw semicircles.
2012-12-01 01:02:14 +08:00
< / td > < td >
< a href = "https://github.com/jieter" > Jieter< / a >
< / td >
< / tr >
2013-01-01 05:22:38 +08:00
< tr >
< td >
< a href = "https://github.com/ismyrnow/Leaflet.functionaltilelayer" > Leaflet.FunctionalTileLayer< / a >
< / td > < td >
Allows you to define tile layer URLs using a function, with support for jQuery deferreds.
< / td > < td >
< a href = "https://github.com/ismyrnow" > Ishmael Smyrnow< / a >
< / td >
< / tr >
2013-01-03 18:01:43 +08:00
< tr >
< td >
< a href = "https://github.com/joker-x/Leaflet.geoCSV" > Leaflet.geoCSV< / a >
< / td > < td >
Leaflet plugin for loading a CSV file as geoJSON layer.
< / td > < td >
< a href = "https://github.com/joker-x" > Iván Eixarch< / a >
< / td >
< / tr >
2013-01-15 06:46:40 +08:00
< tr >
< td >
< a href = "https://github.com/bbecquet/Leaflet.PolylineDecorator" > Leaflet.PolylineDecorator< / a >
< / td > < td >
2013-01-15 06:53:07 +08:00
Allows you to draw patterns (like dashes, arrows or evenly spaced Markers) along Polylines or coordinate paths.
2013-01-15 06:46:40 +08:00
< / td > < td >
< a href = "https://github.com/bbecquet" > Benjamin Becquet< / a >
< / td >
< / tr >
2013-01-19 09:04:36 +08:00
< tr >
< td >
2013-03-14 01:43:33 +08:00
< a href = "https://github.com/leaflet-extras/leaflet.sprite" > Leaflet.Sprite< / a >
2013-01-19 09:04:36 +08:00
< / td > < td >
2013-01-19 09:07:21 +08:00
Use sprite based icons in your markers.
2013-01-19 09:04:36 +08:00
< / td > < td >
< a href = "https://github.com/calvinmetcalf" > Calvin Metcalf< / a >
< / td >
< / tr >
2013-02-26 04:22:08 +08:00
< tr >
< td >
< a href = "https://github.com/maximeh/leaflet.bouncemarker" > Leaflet.BounceMarker< / a >
< / td > < td >
Make a marker bounce when you add it to a map.
< / td > < td >
< a href = "https://github.com/maximeh" > Maxime Hadjinlian< / a >
< / td >
< / tr >
2013-03-06 19:14:14 +08:00
< tr >
< td >
< a href = "https://github.com/makinacorpus/Leaflet.TextPath" > Leaflet.TextPath< / a >
< / td > < td >
Allows you to draw text along Polylines.
< / td > < td >
< a href = "https://github.com/leplatrem" > Mathieu Leplatre< / a >
< / td >
< / tr >
2013-03-16 08:25:40 +08:00
< tr >
< td >
< a href = "https://github.com/lvoogdt/Leaflet.awesome-markers" > Leaflet.Awesome-Markers< / a >
< / td > < td >
2013-03-19 16:25:39 +08:00
Colorful, iconic & retina-proof markers based on the Font Awesome icons/Twitter Bootstrap icons
2013-03-16 08:25:40 +08:00
< / td > < td >
< a href = "http://www.lennardvoogdt.nl" > Lennard Voogdt< / a >
< / td >
< / tr >
2013-03-18 20:44:50 +08:00
< tr >
< td >
< a href = "http://humangeo.github.com/leaflet-dvf/" > Leaflet Data Visualization Framework< / a >
< / td > < td >
New markers, layers, and utility classes for easy thematic mapping and data visualization.
< / td > < td >
< a href = "https://github.com/sfairgrieve" > Scott Fairgrieve< / a >
< / td >
< / tr >
2013-03-29 18:03:25 +08:00
< tr >
< td >
< a href = "https://github.com/Zverik/leaflet-grayscale/" > TileLayer.Grayscale< / a >
< / td > < td >
A regular TileLayer with grayscale makeover.
< / td > < td >
< a href = "https://github.com/Zverik" > Ilya Zverev< / a >
< / td >
< / tr >
2013-04-15 10:17:50 +08:00
< tr >
< td >
< a href = "https://github.com/glenrobertson/leaflet-tilelayer-geojson/" > TileLayer.GeoJSON< / a >
< / td > < td >
2013-08-05 04:43:30 +08:00
A TileLayer for GeoJSON tiles.
2013-04-15 10:17:50 +08:00
< / td > < td >
< a href = "https://github.com/glenrobertson" > Glen Robertson< / a >
< / td >
< / tr >
2013-06-20 08:20:25 +08:00
< tr >
< td >
< a href = "https://github.com/turban/Leaflet.Zoomify" > TileLayer.Zoomify< / a >
< / td > < td >
A TileLayer for Zoomify images.
< / td > < td >
< a href = "https://github.com/turban" > Bjørn Sandvik< / a >
< / td >
2013-07-05 04:22:57 +08:00
< / tr >
< tr >
< td >
2013-07-05 06:45:25 +08:00
< a href = "https://github.com/turban/Leaflet.Graticule" > Leaflet.Graticule< / a >
2013-07-05 04:22:57 +08:00
< / td > < td >
Draws a grid of latitude and longitude lines.
< / td > < td >
< a href = "https://github.com/turban" > Bjørn Sandvik< / a >
< / td >
< / tr >
2013-07-19 23:47:23 +08:00
< tr >
< td >
< a href = "https://github.com/heyman/leaflet-usermarker" > leaflet-usermarker< / a >
< / td > < td >
Plugin for plotting a marker representing a user - or multiple users - on a map,
with support for drawing an accuraccy circle. Can be seen in action on
< a href = "http://longitude.me" > Longitude.me< / a > .
< / td > < td >
< a href = "http://heyman.info" > Jonatan Heyman< / a >
< / td >
< / tr >
2013-08-03 23:02:31 +08:00
< tr >
< td >
< a href = "https://github.com/ubergesundheit/Leaflet.EdgeMarker" > Leaflet.EdgeMarker< / a >
< / td > < td >
Plugin to indicate the existence of Features outside of the current view.
< / td > < td >
< a href = "https://github.com/ubergesundheit" > Gerald Pape< / a >
< / td >
2013-08-09 01:03:16 +08:00
< / tr >
< tr >
< td >
< a href = "https://github.com/calvinmetcalf/leaflet.shapefile" > Leaflet.Shapefile< / a >
< / td > < td >
Put a shapefile onto your map as a layer.
< / td > < td >
< a href = "https://github.com/calvinmetcalf" > Calvin Metcalf< / a >
< / td >
< / tr >
2013-10-06 01:30:53 +08:00
< tr >
< td >
< a href = "https://github.com/joergdietrich/Leaflet.Terminator" > Leaflet.Terminator< / a >
< / td > < td > Overlay day and night regions on a map.
< / td > < td >
< a href = "https://github.com/joergdietrich" > Jö rg Dietrich< / a >
< / td >
2013-10-08 03:50:47 +08:00
< / tr >
2012-07-19 06:55:21 +08:00
< / table >
2012-07-24 06:41:55 +08:00
### Services, Providers and Formats
2012-07-19 06:55:21 +08:00
< table class = "plugins" >
< tr >
< th > Plugin< / th >
< th > Description< / th >
< th > Maintainer< / th >
< / tr >
2012-07-19 00:12:01 +08:00
< tr >
< td >
< a href = "https://github.com/kartena/Proj4Leaflet" > Proj4Leaflet< / a >
< / td > < td >
< a href = "http://trac.osgeo.org/proj4js/" > Proj4js< / a > integration plugin, allowing you to use all kinds of weird projections in Leaflet.
< / td > < td >
< a href = "http://www.kartena.se/" > Kartena< / a >
< / td >
< / tr >
2012-07-19 06:55:21 +08:00
< tr >
< td >
< a href = "https://github.com/shramov/leaflet-plugins" > Plugins by Pavel Shramov< / a >
< / td > < td >
A set of plugins for: GPX, KML layers; Bing tile layer; Google and Yandex layers (implemented with their APIs), Permalink and alternative Scale controls.
< / td > < td >
< a href = "https://github.com/shramov" > Pavel Shramov< / a >
< / td >
< / tr >
< tr >
< td >
< a href = "http://vizzuality.github.com/cartodb-leaflet/" > cartodb-leaflet< / a >
< / td > < td >
Official < a href = "http://cartodb.com/" > CartoDB< / a > plugin for Leaflet.
< / td > < td >
< a href = "http://vizzuality.com/" > Vizzuality< / a >
< / td >
< / tr >
2012-07-19 00:12:01 +08:00
< tr >
< td >
< a href = "http://geojason.info/leaflet-vector-layers/" > Leaflet Vector Layers< / a >
< / td > < td >
2012-07-19 06:55:21 +08:00
Allows to easily create vector layers from a number of geo web services, such as ArcGIS Server, Arc2Earth, GeoIQ, CartoDB and GIS Cloud.
2012-07-19 00:12:01 +08:00
< / td > < td >
< a href = "http://geojason.info" > Jason Sanford< / a >
< / td >
< / tr >
< tr >
< td >
< a href = "https://github.com/perliedman/leaflet-tilejson" > leaflet-tilejson< / a >
< / td > < td >
Adds support for the < a href = "https://github.com/mapbox/TileJSON" > TileJSON< / a > specification to Leaflet.
< / td > < td >
< a href = "https://github.com/perliedman" > Per Liedman< / a > , < a href = "http://www.kartena.se/" > Kartena< / a >
< / td >
< / tr >
< tr >
< td >
2013-02-24 05:46:52 +08:00
< a href = "https://github.com/leaflet-extras/leaflet-providers" > leaflet-providers< / a >
2012-07-19 00:12:01 +08:00
< / td > < td >
2013-07-11 20:03:31 +08:00
Contains configurations for various free tile providers — OSM, OpenCycleMap, MapQuest, Stamen, Esri, etc.
2012-07-19 00:12:01 +08:00
< / td > < td >
< a href = "https://github.com/seelmann" > Stefan Seelmann< / a >
< / td >
< / tr >
2012-07-19 06:55:21 +08:00
< tr >
< td >
< a href = "https://github.com/azgs/azgs-leaflet" > azgs-leaflet< / a >
< / td > < td >
A set of small plugins for Leaflet, including WFS-GeoJSON layer with filtering, a hover control for GeoJSON, and an Esri tile layer.
< / td > < td >
< a href = "https://github.com/azgs" > AZGS< / a >
< / td >
< / tr >
2012-11-02 03:20:32 +08:00
< tr >
< td >
< a href = "https://github.com/jieter/Leaflet.encoded" > Leaflet.encoded< / a >
< / td > < td >
Use encoded polylines in Leaflet.
< / td > < td >
< a href = "https://github.com/jieter" > Jieter< / a >
< / td >
< / tr >
2012-11-25 06:25:39 +08:00
< tr >
< td >
< a href = "https://github.com/calvinmetcalf/leaflet.pouch" > Leaflet.Pouch< / a >
< / td > < td >
Use PouchDB to sync CouchDB data to local storage (indexedDB), to just add couchDB data or as just a less confusing implementation of indexedDB.
< / td > < td >
< a href = "https://github.com/calvinmetcalf/" > Calvin Metcalf< / a >
< / td >
< / tr >
2013-01-16 23:17:03 +08:00
< tr >
< td >
< a href = "https://github.com/calvinmetcalf/leaflet-ajax" > Leaflet Ajax< / a >
< / td > < td >
Add GeoJSON data via ajax or jsonp.
< / td > < td >
< a href = "https://github.com/calvinmetcalf/" > Calvin Metcalf< / a >
< / td >
< / tr >
2013-01-19 00:58:17 +08:00
< tr >
< td >
< a href = "https://github.com/mpetazzoni/leaflet-gpx" > Leaflet GPX< / a >
< / td > < td >
GPX layer, targeted at sporting activities by providing access to information such as distance, moving time, pace, elevation, heart rate, etc.
< / td > < td >
< a href = "https://github.com/mpetazzoni/" > Maxime Petazzoni< / a >
< / td >
< / tr >
2013-03-06 07:30:07 +08:00
< tr >
< td >
< a href = "http://arthur-e.github.com/Wicket/" > Wicket< / a >
< / td > < td >
A modest library for translating between Well-Known Text (WKT) and Leaflet geometry objects (e.g. between L.marker() instances and "POINT()" strings).
< / td > < td >
< a href = "https://github.com/arthur-e/" > K. Arthur Endsley< / a >
< / td >
< / tr >
2013-09-19 10:26:46 +08:00
< tr >
< td >
< a href = "https://github.com/kr1/Leaflet.dbpediaLayer/" > Leaflet.dbpediaLayer< / a >
< / td > < td >
A layer with Points of interest from Wikipedia - loaded via ajax from DBpedia's SPARQL endpoint.
< / td > < td >
< a href = "https://github.com/kr1/" > Kr1< / a >
< / td >
< / tr >
2013-09-24 18:00:32 +08:00
< tr >
< td >
< a href = "https://github.com/emikhalev/leaflet-2gis" > Leaflet-2gis< / a >
< / td > < td >
2013-09-24 20:03:04 +08:00
Adds support for 2GIS tile layer
2013-09-24 18:00:32 +08:00
< / td > < td >
< a href = "https://github.com/emikhalev/" > Eugene Mikhalev< / a >
< / td >
< / tr >
2012-07-19 00:12:01 +08:00
< / table >
2013-05-08 18:17:55 +08:00
### Geocoding (Address Lookup)
2013-05-04 17:34:41 +08:00
< table class = "plugins" >
< tr >
< th > Plugin< / th >
< th > Description< / th >
< th > Maintainer< / th >
< / tr >
< tr >
< td >
< a href = "https://github.com/smeijer/L.GeoSearch" > Leaflet GeoSearch< / a >
< / td > < td >
Small geocoding plugin that brings address searching/lookup (aka geosearching) to Leaflet.< br / >
Comes with support for Google, OpenStreetMap Nominatim, Bing, Esri and Nokia. Eeasily extensible.
< / td > < td >
< a href = "https://github.com/smeijer" > Stephan Meijer< / a >
< / td >
< / tr >
< tr >
< td >
< a href = "https://github.com/k4r573n/leaflet-control-osm-geocoder" > Leaflet Control OSM Geocoder< / a >
< / td > < td >
A simple geocoder that uses OpenstreetMap Nominatim to locate places by address.
< / td > < td >
< a href = "https://github.com/k4r573n" > Karsten Hinz< / a >
< / td >
< / tr >
< tr >
< td >
< a href = "https://github.com/sa3m/leaflet-control-bing-geocoder" > Leaflet Control Bing Geocoder< / a >
< / td > < td >
A simple geocoder control that uses Bing to locate places.
< / td > < td >
< a href = "https://github.com/sa3m" > Samuel Piquet< / a >
< / td >
< / tr >
< / table >
2012-07-24 06:41:55 +08:00
### Controls and Interaction
2012-07-19 00:12:01 +08:00
2012-07-19 06:55:21 +08:00
< table class = "plugins" >
< tr >
< th > Plugin< / th >
< th > Description< / th >
< th > Maintainer< / th >
< / tr >
< tr >
< td >
2013-01-14 05:04:10 +08:00
< a href = "https://github.com/Leaflet/Leaflet.draw" > Leaflet.draw< / a >
2012-07-19 06:55:21 +08:00
< / td > < td >
2012-07-24 16:34:54 +08:00
Enables drawing features like polylines, polygons, rectangles, circles and markers through a very nice user-friendly interface with icons and hints. < em > Recommended!< / em >
2012-07-19 06:55:21 +08:00
< / td > < td >
< a href = "https://github.com/jacobtoye" > Jacob Toye< / a >
< / td >
< / tr >
2012-11-27 12:05:47 +08:00
< tr >
< td >
< a href = "https://github.com/danzel/Leaflet.utfgrid" > Leaflet.utfgrid< / a >
< / td > < td >
Provides a utfgrid interaction handler for leaflet a very small footprint.
< / td > < td >
< a href = "https://github.com/danzel" > Dave Leaver< / a >
< / td >
< / tr >
2012-07-19 06:55:21 +08:00
< tr >
< td >
< a href = "https://github.com/kartena/Leaflet.EditableHandlers" > Leaflet.EditableHandlers< / a >
< / td > < td >
A set of plugins that includes circle editing, measuring tool, and label for polygon sides.
< / td > < td >
< a href = "http://www.kartena.se/" > Kartena< / a >
< / td >
< / tr >
< tr >
< td >
2012-12-06 17:04:04 +08:00
< a href = "http://kartena.github.com/Leaflet.Pancontrol/" > Leaflet.Pancontrol< / a >
2012-07-19 06:55:21 +08:00
< / td > < td >
A simple panning control.
< / td > < td >
< a href = "http://www.kartena.se/" > Kartena< / a >
< / td >
< / tr >
< tr >
< td >
2012-12-06 17:04:04 +08:00
< a href = "http://kartena.github.com/Leaflet.zoomslider/" > Leaflet.zoomslider< / a >
2012-07-19 06:55:21 +08:00
< / td > < td >
A zoom slider control.
< / td > < td >
< a href = "http://www.kartena.se/" > Kartena< / a >
< / td >
< / tr >
2012-11-04 22:11:27 +08:00
< tr >
< td >
< a href = "https://github.com/domoritz/leaflet-locatecontrol" > Leaflet.Locate< / a >
< / td > < td >
A customizable locate control.
< / td > < td >
2012-11-12 00:26:09 +08:00
< a href = "https://github.com/domoritz" > Dominik Moritz< / a >
2012-11-04 22:11:27 +08:00
< / td >
< / tr >
2012-07-19 06:55:21 +08:00
< tr >
< td >
< a href = "http://elidupuis.github.com/leaflet.zoomfs" > leaflet.zoomfs< / a >
< / td > < td >
A fullscreen button control.
< / td > < td >
< a href = "https://github.com/elidupuis" > Eli Dupuis< / a >
< / td >
< / tr >
< tr >
< td >
< a href = "http://brunob.github.com/leaflet.fullscreen" > leaflet.fullscreen< / a >
< / td > < td >
Another fullscreen button control but for modern browsers, using HTML5 Fullscreen API.
< / td > < td >
< a href = "https://github.com/brunob/" > Bruno B< / a >
< / td >
< / tr >
2012-09-03 01:02:50 +08:00
< tr >
< td >
< a href = "https://github.com/stefanocudini/leaflet-search" > leaflet-search< / a >
< / td > < td >
2013-05-22 06:04:42 +08:00
A control for search Markers/Features location by custom property in LayerGroup/GeoJSON. Support AJAX/JSONP, Autocompletion and 3rd party service
2012-09-03 01:02:50 +08:00
< / td > < td >
2013-05-22 06:04:42 +08:00
< a href = "http://labs.easyblog.it" > Stefano Cudini< / a >
2012-09-03 01:02:50 +08:00
< / td >
< / tr >
2012-10-18 00:11:17 +08:00
< tr >
< td >
2013-01-13 23:48:00 +08:00
< a href = "https://github.com/kajic/leaflet-locationfilter/" > leaflet-locationfilter< / a >
2012-10-18 00:11:17 +08:00
< / td > < td >
A draggable/resizable rectangle for selecting an area on the map.
< / td > < td >
< a href = "https://github.com/kajic" > Robert Kajic< / a >
< / td >
< / tr >
2012-11-14 22:59:04 +08:00
< tr >
< td >
< a href = "https://github.com/Norkart/Leaflet-MiniMap" > Leaflet.MiniMap< / a >
< / td > < td >
A small minimap showing the map at a different scale to aid navigation.
< / td > < td >
< a href = "https://github.com/robpvn" > Robert Nordan< / a >
< / td >
< / tr >
2012-12-12 04:15:56 +08:00
< tr >
< td >
< a href = "http://erictheise.github.com/rrose" > Leaflet.Rrose< / a >
< / td > < td >
2013-01-16 23:17:03 +08:00
A Leaflet Plugin for Edge Cases. For use when you want popups on < em > mouseover< / em > , not < em > click< / em > , and
you need popup tips to reorient as you get close to the edges of your map.
2012-12-12 04:15:56 +08:00
< / td > < td >
< a href = "http://www.linkedin.com/in/erictheise" > Eric Theise< / a >
< / td >
< / tr >
2013-01-27 00:37:01 +08:00
< tr >
< td >
< a href = "https://github.com/yohanboniface/Leaflet.EditInOSM" > Leaflet.EditInOSM< / a >
< / td > < td >
Add a control with links to open the current map view on main OSM editors.
< / td > < td >
< a href = "http://yohanboniface.me" > Yohan Boniface< / a >
< / td >
< / tr >
2013-03-07 17:27:10 +08:00
< tr >
< td >
< a href = "https://github.com/makinacorpus/Leaflet.Spin" > Leaflet.Spin< / a >
< / td > < td >
Shows a nice spinner on the map using < a href = "http://fgnass.github.com/spin.js/" > Spin.js< / a > ,
for asynchronous data load, like with < a href = "https://github.com/calvinmetcalf/leaflet-ajax" > Leaflet Ajax< / a > .
< / td > < td >
< a href = "https://github.com/leplatrem" > Mathieu Leplatre< / a >
< / td >
< / tr >
2013-03-19 23:57:55 +08:00
< tr >
< td >
< a href = "https://github.com/makinacorpus/Leaflet.RestoreView" > Leaflet.RestoreView< / a >
< / td > < td >
Stores and restores map view using localStorage.
< / td > < td >
< a href = "https://github.com/leplatrem" > Mathieu Leplatre< / a >
< / td >
< / tr >
2013-04-03 22:56:02 +08:00
< tr >
< td >
< a href = "https://github.com/makinacorpus/Leaflet.FileLayer" > Leaflet.FileLayer< / a >
< / td > < td >
Loads files (GeoJSON, GPX, KML) into the map using the HTML5 FileReader API (i.e. locally without server).
< / td > < td >
< a href = "https://github.com/leplatrem" > Mathieu Leplatre< / a >
< / td >
< / tr >
2013-05-03 17:55:35 +08:00
< tr >
< td >
< a href = "https://github.com/makinacorpus/Leaflet.Snap" > Leaflet.Snap< / a >
< / td > < td >
2013-05-03 18:04:24 +08:00
Enables snapping of draggable markers to polylines and other layers.
2013-05-03 17:55:35 +08:00
< / td > < td >
< a href = "https://github.com/leplatrem" > Mathieu Leplatre< / a >
< / td >
< / tr >
2013-05-21 04:50:55 +08:00
< tr >
< td >
< a href = "https://github.com/dwilhelm89/LeafletSlider" > Leaflet Time-Slider< / a >
< / td > < td >
The Leaflet Time-Slider enables you to dynamically add and remove Markers on a map by using a JQuery UI slider
< / td > < td >
< a href = "https://github.com/dwilhelm89" > Dennis Wilhelm< / a >
< / td >
< / tr >
2013-05-29 18:59:26 +08:00
< tr >
< td >
< a href = "https://github.com/yohanboniface/Leaflet.RevealOSM" > Leaflet.RevealOSM< / a >
< / td > < td >
Very simple but extendable Leaflet plugin to display OSM POIs data on map click.
< / td > < td >
< a href = "http://yohanboniface.me" > Yohan Boniface< / a >
< / td >
< / tr >
2013-05-21 16:45:05 +08:00
< tr >
< td >
2013-05-21 16:45:59 +08:00
< a href = "https://github.com/ardhi/Leaflet.MousePosition" > Leaflet.MousePosition< / a >
2013-05-21 16:45:05 +08:00
< / td > < td >
2013-05-22 08:11:05 +08:00
A simple MousePosition control that displays geographic coordinates of the mouse pointer, as it is moved about the map
2013-05-21 16:45:05 +08:00
< / td > < td >
< a href = "https://github.com/ardhi" > Ardhi Lukianto< / a >
< / td >
< / tr >
2013-06-04 21:46:57 +08:00
< tr >
< td >
< a href = "https://github.com/vogdb/SelectLayersControl" > Leaflet.SelectLayers< / a >
< / td > < td >
a Leaflet plugin which adds new control to switch between different layers on the map. New control replaces L.Control.Layers radio button panel with select tag.
< / td > < td >
< a href = "https://github.com/vogdb" > vogdb< / a >
< / td >
< / tr >
2013-06-05 04:44:52 +08:00
< tr >
< td >
< a href = "https://github.com/MrMufflon/Leaflet.Coordinates" > Leaflet.Coordinates< / a >
< / td > < td >
A simple Leaflet plugin viewing the mouse LatLng-coordinates. Also views a marker with coordinate popup on userinput.
< / td > < td >
< a href = "https://github.com/MrMufflon" > Felix Bache< / a >
< / td >
< / tr >
2013-06-19 01:59:47 +08:00
< tr >
< td >
< a href = "https://github.com/MrMufflon/Leaflet.Elevation" > Leaflet.Elevation< / a >
< / td > < td >
2013-06-19 02:04:38 +08:00
A Leaflet plugin to view interactive height profiles of GeoJSON lines using < a href = "http://d3js.org/" > d3< / a > .
2013-06-19 01:59:47 +08:00
< / td > < td >
< a href = "https://github.com/MrMufflon" > Felix Bache< / a >
< / td >
< / tr >
2013-06-22 00:58:42 +08:00
< tr >
< td >
< a href = "https://github.com/turban/Leaflet.Sync" > Leaflet.Sync< / a >
< / td > < td >
Synchronized view of two maps.
< / td > < td >
< a href = "https://github.com/turban" > Bjørn Sandvik< / a >
< / td >
2013-06-27 02:30:50 +08:00
< / tr >
< tr >
< td >
< a href = "https://github.com/ismyrnow/Leaflet.groupedlayercontrol" > Leaflet.GroupedLayerControl< / a >
< / td > < td >
Leaflet layer control with support for grouping overlays together.
< / td > < td >
< a href = "https://github.com/ismyrnow" > Ishmael Smyrnow< / a >
< / td >
< / tr >
2013-07-01 22:33:44 +08:00
< tr >
< td >
< a href = "https://github.com/slara/Leaflet.BorderPan" > Leaflet.BorderPan< / a >
< / td > < td >
A Leaflet plugin to pan by clicking on map borders.
< / td > < td >
< a href = "https://github.com/slara" > Sebastián Lara< / a >
< / td >
< / tr >
2013-07-17 17:23:14 +08:00
< tr >
< td >
< a href = "https://github.com/yohanboniface/Leaflet.TileLegend" > Leaflet.TileLegend< / a >
< / td > < td >
Create illustrated and interactive legends for your background layers.
< / td > < td >
< a href = "http://yohanboniface.me" > Yohan Boniface< / a >
< / td >
< / tr >
2013-07-27 03:36:24 +08:00
< tr >
< td >
< a href = "https://github.com/hallahan/LeafletPlayback" > LeafletPlayback< / a >
< / td > < td >
Play back time-stamped GPS Tracks synchronized to a clock.
< / td > < td >
< a href = "http://theoutpost.io" > Nicholas Hallahan< / a >
< / td >
< / tr >
2013-08-05 23:44:33 +08:00
< tr >
< td >
< a href = "https://github.com/ebrelsford/Leaflet.loading" > Leaflet.loading< / a >
< / td > < td >
A simple control that adds a loading indicator as tiles and other data are loaded.
< / td > < td >
< a href = "https://github.com/ebrelsford/" > Eric Brelsford< / a >
< / td >
< / tr >
2013-08-23 19:57:30 +08:00
< tr >
2013-08-28 18:23:14 +08:00
< td >
< a href = "https://github.com/pwldp/leaflet.viewcenter" > Leaflet.viewcenter< / a >
2013-08-23 19:57:30 +08:00
< / td > < td >
A simple control that adds a button to change view and zoom to predefinied values in options.
< / td > < td >
< a href = "https://github.com/pwldp/" > Dariusz Pawlak< / a >
< / td >
2013-08-28 18:23:14 +08:00
< / tr >
< tr >
< td >
< a href = "https://github.com/aratcliffe/Leaflet.contextmenu" > Leaflet.contextmenu< / a >
2013-08-27 08:33:38 +08:00
< / td > < td >
A context menu for Leaflet.
< / td > < td >
< a href = "https://github.com/aratcliffe/" > Adam Ratcliffe< / a >
< / td >
2013-08-23 19:57:30 +08:00
< / tr >
2013-08-28 18:23:14 +08:00
< tr >
< td >
< a href = "https://github.com/makinacorpus/Leaflet.MeasureControl" > Leaflet.MeasureControl< / a >
< / td > < td >
A simple tool to measure distances on maps (*relies on Leaflet.Draw*).
< / td > < td >
< a href = "https://github.com/makinacorpus/" > Makina Corpus< / a >
< / td >
< / tr >
2013-09-03 18:19:25 +08:00
< tr >
< td >
< a href = "https://github.com/makinacorpus/Leaflet.OverIntent" > Leaflet.OverIntent< / a >
< / td > < td >
Adds a new event ``mouseintent``, that differs from ``mouseover`` since it reflects user
intentions to aim a particular layer.
< / td > < td >
< a href = "https://github.com/makinacorpus/" > Mathieu Leplatre< / a >
< / td >
< / tr >
2013-09-24 23:49:36 +08:00
< tr >
< td >
< a href = "https://github.com/makinacorpus/Leaflet.AlmostOver" > Leaflet.AlmostOver< / a >
< / td > < td >
Trigger mouse events when cursor is "almost" over a layer.
< / td > < td >
< a href = "https://github.com/makinacorpus/" > Mathieu Leplatre< / a >
< / td >
< / tr >
2013-09-27 04:38:49 +08:00
< tr >
< td >
< a href = "http://elesdoar.github.io/leaflet-control-orderlayers/" > Leaflet Control Order Layers< / a >
< / td > < td >
2013-09-27 05:30:47 +08:00
Adds the ability to change overlay order in the layers control.
2013-09-27 04:38:49 +08:00
< / td > < td >
< a href = "https://github.com/elesdoar/" > Michael Salgado< / a >
< / td >
< / tr >
2013-10-11 17:01:46 +08:00
< tr >
< td >
< a href = "http://jieter.github.io/Leaflet.layerscontrol-minimap/" > Leaflet.layerscontrol-minimap< / a >
< / td > < td >
Extends the default Leaflet layers control with synced minimaps.
< / td > < td >
< a href = "https://github.com/jieter" > Jieter< / a >
< / td >
< / tr >
2013-10-31 05:00:14 +08:00
< tr >
< td >
< a href = "https://github.com/turbo87/leaflet-sidebar/" > leaflet-sidebar< / a >
< / td > < td >
A responsive sidebar plugin.
< / td > < td >
< a href = "https://github.com/turbo87/" > Tobias Bieniek< / a >
< / td >
< / tr >
2012-07-19 06:55:21 +08:00
< / table >
2012-07-19 00:12:01 +08:00
2012-07-24 06:41:55 +08:00
### Other Plugins and Libraries
2012-07-19 00:12:01 +08:00
2012-07-19 06:55:21 +08:00
< table class = "plugins" >
< tr >
< th > Plugin< / th >
< th > Description< / th >
< th > Maintainer< / th >
< / tr >
< tr >
< td >
2013-08-07 06:42:35 +08:00
< a href = "http://osmbuildings.org/" > OSM Buildings< / a >
2012-07-19 06:55:21 +08:00
< / td > < td >
2013-08-07 06:42:35 +08:00
Amazing JS library for visualizing 3D OSM building geometry on top of Leaflet.
2012-07-19 06:55:21 +08:00
< / td > < td >
2013-08-07 06:42:35 +08:00
< a href = "https://github.com/kekscom/" > Jan Marsch< / a >
2012-07-19 06:55:21 +08:00
< / td >
< / tr >
2012-07-30 21:58:58 +08:00
< tr >
< td >
< a href = "http://www.mapsmarker.com/" > Leaflet Maps Marker< / a >
< / td > < td >
A Wordpress plugin that uses Leaflet and a set of its plugins for adding maps to your posts through a nice admin interface.
< / td > < td >
< a href = "http://www.harm.co.at/" > Robert Harm< / a >
< / td >
< / tr >
2012-07-19 06:55:21 +08:00
< tr >
< td >
< a href = "https://github.com/mlevans/leaflet-hash" > leaflet-hash< / a >
< / td > < td >
Plugin for persisting map state and browsing history through the URL hash.
< / td > < td >
< a href = "https://github.com/mlevans" > Michael Lawrence Evans< / a >
< / td >
< / tr >
2012-07-24 06:41:55 +08:00
< tr >
< td >
< a href = "https://github.com/springmeyer/arc.js" > arc.js< / a >
< / td > < td >
A JS library for drawing great circle routes that can be used with Leaflet.
< / td > < td >
< a href = "https://github.com/springmeyer" > Dane Springmeyer< / a >
< / td >
< / tr >
2012-12-23 01:09:37 +08:00
< tr >
< td >
< a href = "https://github.com/yohanboniface/Leaflet.Storage" > Leaflet.Storage< / a >
< / td > < td >
Create/update/delete Map, Marker, Polygon, Polyline... and expose them for backend storage with an API.
< / td > < td >
< a href = "http://yohanboniface.me/" > Yohan Boniface< / a >
< / td >
< / tr >
2013-01-19 09:04:36 +08:00
< tr >
< td >
2013-03-14 01:43:33 +08:00
< a href = "https://github.com/leaflet-extras/leaflet.css" > Leaflet.CSS< / a >
2013-01-19 09:04:36 +08:00
< / td > < td >
Add the main Leaflet CSS files (or any css) from within JavaScript, be gone conditional comments.
< / td > < td >
< a href = "https://github.com/calvinmetcalf" > Calvin Metcalf< / a >
< / td >
< / tr >
2013-03-08 17:50:56 +08:00
< tr >
< td >
< a href = "https://github.com/makinacorpus/Leaflet.LayerIndex" > Leaflet.LayerIndex< / a >
< / td > < td >
An efficient spatial index for features and layers, using < a href = "https://github.com/imbcmdth/RTree" > RTree.js< / a > .
< / td > < td >
< a href = "https://github.com/leplatrem" > Mathieu Leplatre< / a >
< / td >
< / tr >
2013-03-29 00:55:06 +08:00
< tr >
< td >
< a href = "https://github.com/tmcw/leaflet-pip" > Leaflet-pip< / a >
< / td > < td >
Simple point in polygon calculation using < a href = "https://github.com/substack/point-in-polygon" > point-in-polygon< / a > .
< / td > < td >
< a href = "https://github.com/tmcw" > Tom MacWright< / a >
< / td >
< / tr >
2013-05-03 17:52:25 +08:00
< tr >
< td >
< a href = "https://github.com/makinacorpus/Leaflet.GeometryUtil" > Leaflet.GeometryUtil< / a >
< / td > < td >
A collection of utilities for Leaflet geometries (linear referencing, etc.)
< / td > < td >
< a href = "https://github.com/bbecquet" > Benjamin Becquet< / a > , < a href = "https://github.com/leplatrem" > Mathieu Leplatre< / a >
< / td >
< / tr >
2013-05-29 19:00:53 +08:00
< tr >
< td >
< a href = "https://github.com/yohanboniface/Leaflet.i18n" > Leaflet.i18n< / a >
< / td > < td >
Internationalization for Leaflet plugins.
< / td > < td >
< a href = "http://yohanboniface.me" > Yohan Boniface< / a >
< / td >
< / tr >
2013-07-31 08:44:02 +08:00
< tr >
< td >
< a href = "https://github.com/aratcliffe/Leaflet.print" > Leaflet.print< / a >
< / td > < td >
Implements the Mapfish print protocol allowing a Leaflet map to be printed using either the Mapfish or GeoServer print module.
< / td > < td >
< a href = "https://github.com/aratcliffe" > Adam Ratcliffe< / a >
< / td >
< / tr >
2012-07-19 06:55:21 +08:00
< / table >
2012-07-19 00:12:01 +08:00
2013-01-18 18:29:19 +08:00
To submit your own Leaflet plugin to this list, just send a pull request with the addition to Leaflet repo's [gh-pages branch ](https://github.com/Leaflet/Leaflet/tree/gh-pages ) (`plugins.md` file).
2012-07-19 06:55:21 +08:00
<!--
2012-07-19 00:12:01 +08:00
- Saving a Leaflet Map to a PNG Example using Javascript and PHP https://github.com/tegansnyder/Leaflet-Save-Map-to-PNG
- Get a PNG from a Leaflet map and export it in PDF https://github.com/chrissom/leaflet-pdf
-->