Draw semirings on Leaflet maps based on Jan Pieter Waagmeester's leaflet-semicircle
npm install leaflet-semiringsLeaflet-Semicircle.
-------------------
Allows drawing semicircles on leaflet maps.
It's an extension of Leaflet's L.Circle,
and behaves like L.Circle if the a semicircle of almost 360 degrees is displayed.
Updated for use with leaflet 1.1.0.
L.SemiCircle/
L.SemiCircleMarkerfactories: L.semiCircle/L.SemiCircleMarker
|
Options: startAngle: start angle of the semicircle stopAngle: stop angle of the semicircleAngles are defined like compass courses: 0 = north, 90 = east, etc. innerRadius: defines an inner radius to display a ring instead of a circle ringWidth: set thickness of the ring, if set it overwrites the innerRadius |
L.SemiCircle.setStartAngle(angle) |
Set the start angle of the circle to angle and redraw. |
L.Circle.setStopAngle(angle) |
Set the stop angle of the circle to angle and redraw. |
L.Circle.setDirection(direction, size) |
Set the startAngle to direction - (0.5 size) and the stopAngle to direction + (0.5 size) and redraw. |
options map and set startAngle and stopAngle.
options the option innerRadius or ringWidth to draw a ring instead of a circle.
setDirection(direction, size) to display a semicircle of size degrees at direction.
options.startAngle and options.stopAngle:
js
L.semiCircle([51.5, -0.09], {
radius: 500,
startAngle: 45,
stopAngle: 135
}).addTo(map);
`
Draw the same semicircle using setDirection(direction, size):
`js
L.semiCircle([51.5, -0.09], {radius: 500})
.setDirection(90, 90)
.addTo(map);
`
Draw the same semicircle using as a ring:
`js
L.semiCircle([51.5, -0.09], {
radius: 500,
innerRadius: 300,
//// same as:
// ringWidth: 200,
startAngle: 45,
stopAngle: 135
}).addTo(map);
`
Screenshot:
Live demo
!Semicircles screenshot
$3
Live demo
!Semicircles screenshot
Changelog
$3
- Fixed #24: instance check for canvas renderer
$3
- Fixed #14: Poleward displacement of circle center when radius is large.
$3
- Changed the API to stand-alone classes rather than overwriting L.Circle` with an extension of itself.