A responsive sidebar plugin for for Leaflet, a JS library for interactive maps.
leaflet-sidebar was developed to work with Leaflet 0.6.4. I don't know whether it works with older versions.
See the included examples for usage.
Add a content container somewhere in your document:
<div id="sidebar">
<h1>leaflet-sidebar</h1>
</div>
Create a new L.Control.Sidebar
and add it to the map:
var sidebar = L.control.sidebar('sidebar', {
position: 'left'
});
map.addControl(sidebar);
The sidebar will be hidden on startup, use the following methods to show or hide it:
// Show sidebar
sidebar.show();
// Hide sidebar
sidebar.hide();
// Toggle sidebar visibility
sidebar.toggle();
// Check sidebar visibility
var visible = sidebar.isVisible();
If you want the sidebar to be visible on startup use the following snippet after adding it to the map:
setTimeout(function () {
sidebar.show();
}, 500);
Do not call show()
directly after adding the control to the map. The setTimeout
will work around some CSS quirks for you.
The content of the sidebar can be changed dynamically:
sidebar.setContent('test <b>test</b> test');
If you need more flexibility you can use sidebar.getContainer()
to get the content container element or use e.g. jQuery on the <div id="sidebar">
element.
The sidebar can be configured with these options:
- position: Can be
left
(default) orright
and shouldn't need explaining. - *closeButton: Can be
true
(default) orfalse
. Iftrue
a close button will be added to the sidebar.
The leaflet-sidebar plugin has been tested on the following systems and browsers:
- Ubuntu: Firefox, Chrome
- Mac OS X: Firefox, Chrome, Safari
- Android 4.3: Firefox, Chrome, Opera
- iOS: Safari
- Windows XP: Internet Explorer 6 (failed!)
leaflet-sidebar is free software, and may be redistributed under the MIT LICENSE.