Leaflet: BSD-licensed JavaScript library for interactive maps for desktop and mobile web
Leaflet is a modern, lightweight BSD-licensed JavaScript library for making tile-based interactive maps for both desktop and mobile web browsers, developed by CloudMade to form the core of its next generation JavaScript API.
It is built from the ground up to work efficiently and smoothly on both platforms, utilizing cutting-edge technologies included in HTML5. Its top priorities are usability, performance, small size, A-grade browser support, flexibility and easy to use API. The OOP-based code of the library is designed to be modular, extensible and very easy to understand.
Available map layers
- Tile layers
- Polylines, polygons, circles
- Markers
- Popups
- Image overlays
- WMS layers
- GeoJSON
- KML
- GeoRSS
Interaction features
On desktop browsers
- Drag panning
- Scroll wheel zoom
- Double click zoom
- Shift-drag zoom to bounding box
On mobile browsers (iOS, Android)
- Touch-drag panning
- Multi-touch zoom (iOS only)
- Double tap zoom
- Panning inertia
Visual features
- Panning animation
- Zooming animation on modern browsers (except IE)
- Smooth continuous zoom on iOS
- Tile and popup fade animation
- Very nice default design for markers and popups
Customization features
- Pure CSS3 popups and controls for easy restyling
- A simple interface for implementing custom map layers
- The same for custom map controls
- Custom map projections (with EPSG:4326, EPSG:3857 and EPSG:3395 out of the box)
Performance features
- Hardware acceleration on iOS makes it feel as smooth as native apps
- Clever tricks to make panning and zooming really smooth
- Smart polyline/polygon rendering makes it responsive even when displaying objects with thousands of points
- Modular build system allows you to reduce the size of the library by leaving out the code you don't need
Map controls
- Zoom buttons
- Attribution
- Zoom slider
- Layer switcher
Browser support
On desktop
- Firefox 3.6+
- Chrome
- Safari 5+
- Opera 11.11+
- IE 7–9
- IE 6 (not perfect but accessible)
On mobile
- Safari for iOS 3/4+
- WebKit for Android 2.2+
- webOS browser
- Blackberry 6+
- Windows Phone 7
- Firefox for Android

