1.4.0 • Published 2 years ago

leaflet-svg-shape-markers v1.4.0

Weekly downloads
833
License
MIT
Repository
-
Last release
2 years ago

Leaflet.SvgShapeMarkers

Additional SVG marker types for leaflet.js such as triangle, diamond and square. Check out the demo.

Note: Currently only works when preferCanvas isn't set to true.

Installing

Either downloading this repo or install from npm

npm install leaflet-svg-shape-markers

Usage

Step 1. Include the required js in your document

    # With requirejs
		require('leaflet-svg-shape-markers')

		# Using ES6
		import 'leaflet-svg-shape-markers'

		# Via a html script
   	<script src="leaflet-svg-shape-markers/dist/leaflet-svg-shape-markers.min.js"></script>

Step 2. Add a point to your map using the shapeMarker function

	var square = L.shapeMarker([51.505, -0.09], {
		shape: "square",
		radius: 20
	}).addTo(map);

Step 3. You can pass a number of options to the plugin to control various settings.

OptionTypeDefaultDescription
shapestring"triangle"A valid shape, see list below
radiusnumber20The size of the svg marker in pixels
rotationnumber0The rotation of the svg marker, between 0 and 360

L.shapeMarker also extends the path class so any options that you can pass (such as color or fillOpacity) are also valid.

	var diamond = L.shapeMarker([51.505, -0.09], {
		fillColor: "#cccccc",
		color: "black",
		shape: "diamond",
		radius: 200
	}).addTo(map);

Available shapes

  • diamond
  • square
  • triangle (= triangle-up)
  • triangle-up
  • triangle-down
  • arrowhead (= arrowhead-up)
  • arrowhead-up
  • arrowhead-down
  • circle
  • star-{number-points}
  • x

Additional methods

MethodReturnsDescription
toGeoJSONObjectReturns a GeoJSON representation of the marker (as a GeoJSON Point Feature).
setLatLngthisSets the position of a marker to a new location.
getLatLngLatLngReturns the current geographical position of the marker.
setStylethisChanges the appearance of a Path based on the options in the Path options object.
getRadiusnumberReturns the current radius of the marker.
setRadiusthisSets the radius of a marker. Units are in pixels.
getRotationnumberReturns the current rotation of the marker.
setRotationthisSets the rotation of a marker.
	diamond.setRadius(10);

Acknowledgements

Huge hats off go to mourner and all the contributors to the leaflet.js project, it's an amazing piece of open source software!

1.4.0

2 years ago

1.3.0

4 years ago

1.2.0

4 years ago

1.1.1

5 years ago

1.1.0

5 years ago

1.0.0

7 years ago