926 lines
28 KiB
Markdown
926 lines
28 KiB
Markdown
---
|
|
layout: default
|
|
title: Plugins
|
|
---
|
|
|
|
## Notable Leaflet Plugins
|
|
|
|
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.
|
|
|
|
---
|
|
|
|
### Layers and Overlays
|
|
|
|
<table class="plugins">
|
|
<tr>
|
|
<th>Plugin</th>
|
|
<th>Description</th>
|
|
<th>Maintainer</th>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<a href="https://github.com/Leaflet/Leaflet.markercluster">Leaflet.markercluster</a>
|
|
</td><td>
|
|
Beautiful, sophisticated, high performance marker clustering solution with smooth animations and lots of great features. <em>Recommended!</em>
|
|
</td><td>
|
|
<a href="https://github.com/danzel">Dave Leaver</a>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<a href="https://github.com/Leaflet/Leaflet.label">Leaflet.label</a>
|
|
</td><td>
|
|
Adds text labels to map markers and vector layers.
|
|
</td><td>
|
|
<a href="https://github.com/jacobtoye">Jacob Toye</a>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<a href="http://dynmeth.github.com/RaphaelLayer/">RaphaelLayer</a>
|
|
</td><td>
|
|
Allows you to use <a href="http://raphaeljs.com/">Raphael</a> as a layer on a Leaflet map for advanced animations and visualizations.
|
|
</td><td>
|
|
<a href="https://github.com/dynmeth">Dynamic Methods</a>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<a href="https://github.com/jawj/OverlappingMarkerSpiderfier-Leaflet">Overlapping Marker Spiderfier</a>
|
|
</td><td>
|
|
Deals with overlapping markers in a Google Earth-inspired way by gracefully springing them apart on click.
|
|
</td><td>
|
|
<a href="http://mackerron.com">George MacKerron</a>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<a href="https://github.com/aparshin/leaflet-boundary-canvas">TileLayer.BoundaryCanvas</a>
|
|
</td><td>
|
|
Allows you to draw tile layers with arbitrary polygonal boundary. HTML5 Canvas is used for rendering.
|
|
</td><td>
|
|
<a href="https://github.com/aparshin">Alexander Parshin</a>
|
|
</td>
|
|
</tr>
|
|
<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>
|
|
<tr>
|
|
<td>
|
|
<a href="https://github.com/sunng87/heatcanvas">HeatCanvas</a>
|
|
</td><td>
|
|
Simple heatmap api based on HTML5 canvas.
|
|
</td><td>
|
|
<a href="https://github.com/sunng87">Sun Ning</a>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<a href="http://www.patrick-wied.at/static/heatmapjs/example-heatmap-leaflet.html">heatmap.js</a>
|
|
</td><td>
|
|
JavaScript Library for HTML5 canvas based heatmaps.
|
|
|
|
Its Leaflet layer implementation supports large datasets because it is tile based and uses a quadtree index to store the data.
|
|
</td><td>
|
|
<a href="https://github.com/pa7">Patrick Wied</a>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<a href="https://github.com/dpiccone/leaflet-div-heatmap">Leaflet divHeatmap</a>
|
|
</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>
|
|
<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>
|
|
</td>
|
|
</tr>
|
|
<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>
|
|
<tr>
|
|
<td>
|
|
<a href="https://github.com/jieter/Leaflet-semicircle">Leaflet-semicircle</a>
|
|
</td><td>
|
|
Adds functionality to <code>L.Circle</code> to draw semicircles.
|
|
</td><td>
|
|
<a href="https://github.com/jieter">Jieter</a>
|
|
</td>
|
|
</tr>
|
|
<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>
|
|
<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>
|
|
<tr>
|
|
<td>
|
|
<a href="https://github.com/bbecquet/Leaflet.PolylineDecorator">Leaflet.PolylineDecorator</a>
|
|
</td><td>
|
|
Allows you to draw patterns (like dashes, arrows or evenly spaced Markers) along Polylines or coordinate paths.
|
|
</td><td>
|
|
<a href="https://github.com/bbecquet">Benjamin Becquet</a>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<a href="https://github.com/leaflet-extras/leaflet.sprite">Leaflet.Sprite</a>
|
|
</td><td>
|
|
Use sprite based icons in your markers.
|
|
</td><td>
|
|
<a href="https://github.com/calvinmetcalf">Calvin Metcalf</a>
|
|
</td>
|
|
</tr>
|
|
<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>
|
|
<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>
|
|
<tr>
|
|
<td>
|
|
<a href="https://github.com/lvoogdt/Leaflet.awesome-markers">Leaflet.Awesome-Markers</a>
|
|
</td><td>
|
|
Colorful, iconic & retina-proof markers based on the Font Awesome icons/Twitter Bootstrap icons
|
|
</td><td>
|
|
<a href="http://www.lennardvoogdt.nl">Lennard Voogdt</a>
|
|
</td>
|
|
</tr>
|
|
<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>
|
|
<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>
|
|
<tr>
|
|
<td>
|
|
<a href="https://github.com/glenrobertson/leaflet-tilelayer-geojson/">TileLayer.GeoJSON</a>
|
|
</td><td>
|
|
A TileLayer for GeoJSON tiles.
|
|
</td><td>
|
|
<a href="https://github.com/glenrobertson">Glen Robertson</a>
|
|
</td>
|
|
</tr>
|
|
<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>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<a href="https://github.com/turban/Leaflet.Graticule">Leaflet.Graticule</a>
|
|
</td><td>
|
|
Draws a grid of latitude and longitude lines.
|
|
</td><td>
|
|
<a href="https://github.com/turban">Bjørn Sandvik</a>
|
|
</td>
|
|
</tr>
|
|
<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>
|
|
<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>
|
|
</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>
|
|
<tr>
|
|
<td>
|
|
<a href="https://github.com/calvinmetcalf/leaflet.filegdb">Leaflet.FileGDB</a>
|
|
</td><td>
|
|
Put an ESRI File GeoDatabase onto your map as a layer.
|
|
</td><td>
|
|
<a href="https://github.com/calvinmetcalf">Calvin Metcalf</a>
|
|
</td>
|
|
</tr>
|
|
<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>
|
|
</tr>
|
|
</table>
|
|
|
|
|
|
### Services, Providers and Formats
|
|
|
|
<table class="plugins">
|
|
<tr>
|
|
<th>Plugin</th>
|
|
<th>Description</th>
|
|
<th>Maintainer</th>
|
|
</tr>
|
|
<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>
|
|
<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>
|
|
<tr>
|
|
<td>
|
|
<a href="http://geojason.info/leaflet-vector-layers/">Leaflet Vector Layers</a>
|
|
</td><td>
|
|
Allows to easily create vector layers from a number of geo web services, such as ArcGIS Server, Arc2Earth, GeoIQ, CartoDB and GIS Cloud.
|
|
</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>
|
|
<a href="https://github.com/leaflet-extras/leaflet-providers">leaflet-providers</a>
|
|
</td><td>
|
|
Contains configurations for various free tile providers — OSM, OpenCycleMap, MapQuest, Stamen, Esri, etc.
|
|
</td><td>
|
|
<a href="https://github.com/seelmann">Stefan Seelmann</a>
|
|
</td>
|
|
</tr>
|
|
<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>
|
|
<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>
|
|
<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>
|
|
<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>
|
|
<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>
|
|
<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>
|
|
<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>
|
|
<tr>
|
|
<td>
|
|
<a href="https://github.com/emikhalev/leaflet-2gis">Leaflet-2gis</a>
|
|
</td><td>
|
|
Adds support for 2GIS tile layer
|
|
</td><td>
|
|
<a href="https://github.com/emikhalev/">Eugene Mikhalev</a>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
|
|
|
|
### Geocoding (Address Lookup)
|
|
|
|
<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>
|
|
|
|
|
|
### Controls and Interaction
|
|
|
|
<table class="plugins">
|
|
<tr>
|
|
<th>Plugin</th>
|
|
<th>Description</th>
|
|
<th>Maintainer</th>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<a href="https://github.com/Leaflet/Leaflet.draw">Leaflet.draw</a>
|
|
</td><td>
|
|
Enables drawing features like polylines, polygons, rectangles, circles and markers through a very nice user-friendly interface with icons and hints. <em>Recommended!</em>
|
|
</td><td>
|
|
<a href="https://github.com/jacobtoye">Jacob Toye</a>
|
|
</td>
|
|
</tr>
|
|
<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>
|
|
<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>
|
|
<a href="http://kartena.github.com/Leaflet.Pancontrol/">Leaflet.Pancontrol</a>
|
|
</td><td>
|
|
A simple panning control.
|
|
</td><td>
|
|
<a href="http://www.kartena.se/">Kartena</a>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<a href="http://kartena.github.com/Leaflet.zoomslider/">Leaflet.zoomslider</a>
|
|
</td><td>
|
|
A zoom slider control.
|
|
</td><td>
|
|
<a href="http://www.kartena.se/">Kartena</a>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<a href="https://github.com/domoritz/leaflet-locatecontrol">Leaflet.Locate</a>
|
|
</td><td>
|
|
A customizable locate control.
|
|
</td><td>
|
|
<a href="https://github.com/domoritz">Dominik Moritz</a>
|
|
</td>
|
|
</tr>
|
|
<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>
|
|
<tr>
|
|
<td>
|
|
<a href="https://github.com/stefanocudini/leaflet-search">leaflet-search</a>
|
|
</td><td>
|
|
A control for search Markers/Features location by custom property in LayerGroup/GeoJSON. Support AJAX/JSONP, Autocompletion and 3rd party service
|
|
</td><td>
|
|
<a href="http://labs.easyblog.it">Stefano Cudini</a>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<a href="https://github.com/kajic/leaflet-locationfilter/">leaflet-locationfilter</a>
|
|
</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>
|
|
<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>
|
|
<tr>
|
|
<td>
|
|
<a href="http://erictheise.github.com/rrose">Leaflet.Rrose</a>
|
|
</td><td>
|
|
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.
|
|
</td><td>
|
|
<a href="http://www.linkedin.com/in/erictheise">Eric Theise</a>
|
|
</td>
|
|
</tr>
|
|
<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>
|
|
<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>
|
|
<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>
|
|
<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>
|
|
<tr>
|
|
<td>
|
|
<a href="https://github.com/makinacorpus/Leaflet.Snap">Leaflet.Snap</a>
|
|
</td><td>
|
|
Enables snapping of draggable markers to polylines and other layers.
|
|
</td><td>
|
|
<a href="https://github.com/leplatrem">Mathieu Leplatre</a>
|
|
</td>
|
|
</tr>
|
|
<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>
|
|
<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>
|
|
<tr>
|
|
<td>
|
|
<a href="https://github.com/ardhi/Leaflet.MousePosition">Leaflet.MousePosition</a>
|
|
</td><td>
|
|
A simple MousePosition control that displays geographic coordinates of the mouse pointer, as it is moved about the map
|
|
</td><td>
|
|
<a href="https://github.com/ardhi">Ardhi Lukianto</a>
|
|
</td>
|
|
</tr>
|
|
<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>
|
|
<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>
|
|
<tr>
|
|
<td>
|
|
<a href="https://github.com/MrMufflon/Leaflet.Elevation">Leaflet.Elevation</a>
|
|
</td><td>
|
|
A Leaflet plugin to view interactive height profiles of GeoJSON lines using <a href="http://d3js.org/">d3</a>.
|
|
</td><td>
|
|
<a href="https://github.com/MrMufflon">Felix Bache</a>
|
|
</td>
|
|
</tr>
|
|
<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>
|
|
</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>
|
|
<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>
|
|
<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>
|
|
<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>
|
|
<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>
|
|
<tr>
|
|
<td>
|
|
<a href="https://github.com/pwldp/leaflet.viewcenter">Leaflet.viewcenter</a>
|
|
</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>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<a href="https://github.com/aratcliffe/Leaflet.contextmenu">Leaflet.contextmenu</a>
|
|
</td><td>
|
|
A context menu for Leaflet.
|
|
</td><td>
|
|
<a href="https://github.com/aratcliffe/">Adam Ratcliffe</a>
|
|
</td>
|
|
</tr>
|
|
<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>
|
|
<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>
|
|
<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>
|
|
<tr>
|
|
<td>
|
|
<a href="http://elesdoar.github.io/leaflet-control-orderlayers/">Leaflet Control Order Layers</a>
|
|
</td><td>
|
|
Adds the ability to change overlay order in the layers control.
|
|
</td><td>
|
|
<a href="https://github.com/elesdoar/">Michael Salgado</a>
|
|
</td>
|
|
</tr>
|
|
<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>
|
|
<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>
|
|
</table>
|
|
|
|
|
|
### Other Plugins and Libraries
|
|
|
|
<table class="plugins">
|
|
<tr>
|
|
<th>Plugin</th>
|
|
<th>Description</th>
|
|
<th>Maintainer</th>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<a href="http://osmbuildings.org/">OSM Buildings</a>
|
|
</td><td>
|
|
Amazing JS library for visualizing 3D OSM building geometry on top of Leaflet.
|
|
</td><td>
|
|
<a href="https://github.com/kekscom/">Jan Marsch</a>
|
|
</td>
|
|
</tr>
|
|
<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>
|
|
<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>
|
|
<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>
|
|
<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>
|
|
<tr>
|
|
<td>
|
|
<a href="https://github.com/leaflet-extras/leaflet.css">Leaflet.CSS</a>
|
|
</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>
|
|
<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>
|
|
<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>
|
|
<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>
|
|
<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>
|
|
<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>
|
|
</table>
|
|
|
|
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).
|
|
|
|
<!--
|
|
- 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
|
|
-->
|