Skip to content

skeate/Leaflet.buffer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Nov 15, 2017
ac9c1d4 · Nov 15, 2017
Nov 15, 2017
Feb 10, 2017
Jul 10, 2017
May 2, 2017
Jul 10, 2017
Feb 28, 2017
Feb 9, 2017
Feb 10, 2017
Feb 10, 2017
Jul 10, 2017
Feb 10, 2017
Nov 15, 2017
Nov 15, 2017
Feb 10, 2017
Feb 9, 2017

Repository files navigation

Build Status Greenkeeper badge

Leaflet.buffer

Create a buffer around shapes drawn with Leaflet.draw.

Demo Image

See here for a live demo.

Usage

Include the source file (dist/leaflet.buffer.min.js) after the Leaflet.Draw library. In your setup script, make sure your Leaflet.Draw edit config includes a buffer property (options are below). That's it!

Example:

const osmUrl = 'http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png';
const osm = L.tileLayer(osmUrl, { maxZoom: 18 });
const map = new L.Map('map', {
  layers: [osm],
  center: new L.LatLng(38.8977, -77.0366),
  zoom: 15,
});
const drawnItems = new L.FeatureGroup();
map.addLayer(drawnItems);

const drawControl = new L.Control.Draw({
  position: 'topright',
  draw: {},
  edit: {
    featureGroup: drawnItems,
    remove: true,
    buffer: {
      replacePolylines: false,
      separateBuffer: false,
    },
  },
});
map.addControl(drawControl);

Options

replacePolylines: If true (default), buffering a polyline will result in the replacement of the polyline with a polygon. If false, buffering a polyline will result in a new polygon on top of the line, but not replacing it.

separateBuffer: If false (default), then buffering any shape actually changes the shape. If true, buffering a shape results in a copy of the shape being made, to maintain both the original shape and the buffer.

bufferStyle: style options for the buffer shapes (always used for polyline buffers; used for others iff separateBuffer is true)