Nevar pievienot vairāk kā 25 tēmas Tēmai ir jāsākas ar burtu vai ciparu, tā var saturēt domu zīmes ('-') un var būt līdz 35 simboliem gara.
Street, Arthur (Data61, Eveleigh ATP) 898423ed10 use latest version of leaflet 7 gadus atpakaļ
.gitignore remove the layer clips when the control is removed from the map 7 gadus atpakaļ
.npmignore blacklist instead of whitelist files for npm 9 gadus atpakaļ
CHANGELOG.md Update changelog for release 9 gadus atpakaļ
LICENSE initial commit 9 gadus atpakaļ
README.md Corrected type in title as well 9 gadus atpakaļ
index.html Factory function should be exported as camelCase L.control 9 gadus atpakaļ
index.js Determine correct event only repsond to one event on machines that can handle touch and mouse events 7 gadus atpakaļ
layout.css initial commit 9 gadus atpakaļ
leaflet-side-by-side.js Determine correct event only repsond to one event on machines that can handle touch and mouse events 7 gadus atpakaļ
leaflet-side-by-side.min.js Determine correct event only repsond to one event on machines that can handle touch and mouse events 7 gadus atpakaļ
package.json use latest version of leaflet 7 gadus atpakaļ
range-icon.png initial commit 9 gadus atpakaļ
range.css css cleanup 9 gadus atpakaļ
screencast.gif initial commit 9 gadus atpakaļ

README.md

leaflet-side-by-side

A Leaflet control to add a split screen to compare two map overlays.

screencast example

L.control.sideBySide(leftLayer[s], rightLayer[s])

Creates a new Leaflet Control for comparing two layers or collections of layers. It does not add the layers to the map - you need to do that manually. Extends L.Control but setPosition() and getPosition are noop because the position is always the same - it does not make sense for this control to be in the corner like other Leaflet controls.

Parameters

parameter type description
leftLayers L.Layer|array A Leaflet Layer or array of layers to show on the left side of the map. Any layer added to the map that is in this array will be shown on the left
rightLayers L.Layer|array A Leaflet Layer or array of layers to show on the right side of the map. Any layer added to the map that is in this array will be shown on the right. These should not be the same as any layers in leftLayers
options Object Options
options.padding Number Padding between slider min/max and the edge of the screen in pixels. Defaults to 44 - the width of the slider thumb

Events

Subscribe to events using these methods

Event Data Description
leftlayeradd LayerEvent Fired when a layer is added to the left-hand-side pane
leftlayerremove LayerEvent Fired when a layer is removed from the left-hand-side pane
rightlayeradd LayerEvent Fired when a layer is added to the right-hand-side pane
rightlayerremove LayerEvent You guessed it… fired when a layer is removed from the right-hand-side pane
dividermove {x: Number} Fired when the divider is moved. Returns an event object with the property x = the pixels of the divider from the left side of the map container.

Methods

Method Returns Description
setLeftLayers this Set the layer(s) for the left side
setRightLayers this Set the layer(s) for the right side

Usage

Add the script to the top of your page (css is included in the javascript):

<script src="leaflet-side-by-side.js"></script>

Or if you are using browserify:

var sideBySide = require('leaflet-side-by-side')

Then create a map, add two layers to it, and create the SideBySide control and add it to the map:

var map = L.map('map').setView([51.505, -0.09], 13);

var myLayer1 = L.tileLayer(...).addTo(map);

var myLayer2 = L.tileLayer(...).addTo(map)

L.control.sideBySide(myLayer1, myLayer2).addTo(map);

Example

Live Example see source

Limitations

  • The divider is not movable with IE.
  • Probably won’t work in IE8, but what does?

License

MIT