Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Leaflet location filter
JavaScript CSS
Latest commit fd3a095 @kajic Merge pull request #16 from mjakob/topic/button-position
Added a buttonPosition option to the LocationFilter class


Provides a location filter for Leaflet. In short, the location filter is a draggable/resizable rectangle. It is integrated with your application through a set of callbacks that are called when the user interacts with the filter.

leaflet-locationfilter is developed by You may see it in action here.

Another similar plugin is Leaflet.AreaSelect, which solves the same problem, but with a fixed and centered rectangle, that can't be moved, and that has support for locking the aspect ratio of the selection.


Create a new LocationFilter and add it to the map:

var locationFilter = new L.LocationFilter().addTo(map);

Bind some events:

locationFilter.on("change", function (e) {
    // Do something when the bounds change.
    // Bounds are available in `e.bounds`.

locationFilter.on("enabled", function () {
    // Do something when enabled.

locationFilter.on("disabled", function () {
    // Do something when disabled.

Get the current bounds:

var bounds = locationFilter.getBounds();

Check if the location filter is enabled:

var isEnabled = locationFilter.isEnabled();


bounds (optional): The initial bounds for the location filter. Defaults to the maps own bounds.

enable (optional): Set to true to enable the filter as soon as it is added to the map. Defaults to false.

buttonPosition: Set to position the associated buttons on the map. Defaults to 'topleft'.


change: Fired when the location filter changes size or position.

enabled:: Fired when the location filter gets enabled.

disabled: Fired when the location filter gets disabled.

enableClick: Fired when the user clicks the enable button.

disableClick: Fired when the user clicks the disable button.

adjustToZoomClick: Fired when the user clicks the adjust button.


leaflet-locationfilter is free software, and may be redistributed under the MIT-LICENSE.

Something went wrong with that request. Please try again.