{"_id":"leaflet-snap","_rev":"3-3335ad42d517b2abe93f78a2abf32a9e","name":"leaflet-snap","description":"Enable snapping between layers","dist-tags":{"latest":"0.0.4"},"versions":{"0.0.4":{"name":"leaflet-snap","version":"0.0.4","description":"Enable snapping between layers","keywords":["Leaflet","GIS"],"main":"leaflet.snap.js","bugs":{"url":"https://github.com/makinacorpus/Leaflet.Snap/issues"},"repository":{"type":"git","url":"git://github.com/makinacorpus/Leaflet.Snap.git"},"license":"MIT","scripts":{},"dependencies":{"leaflet":"^0.7.7","leaflet-geometryutil":"*","leaflet-draw":"^0.3.2"},"optionalDependencies":{"leaflet-draw":"^0.3.2"},"gitHead":"9b72ff15bbef9934a46cb2d24b5967907739a297","homepage":"https://github.com/makinacorpus/Leaflet.Snap#readme","_id":"leaflet-snap@0.0.4","_shasum":"fddf938cb4eab04a1ec709f875916a487abfbf7d","_from":".","_npmVersion":"3.3.6","_nodeVersion":"5.0.0","_npmUser":{"name":"makinacorpus","email":"dev+npm@makina-corpus.com"},"dist":{"shasum":"fddf938cb4eab04a1ec709f875916a487abfbf7d","tarball":"https://registry.npmjs.org/leaflet-snap/-/leaflet-snap-0.0.4.tgz","integrity":"sha512-p9JNYeDCwkpp7mas7KQUkdb16R0kPCJjnNr7v2h4Aeb3EPLt9ILAZxqAd60DdZo/1y+WEezzUC4UDRM0OgYRgA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDh6nAwp/j+u6X+izYjLx2kW25GupeAvEMhf2sKrNk2twIhAKZ1kXv2E87bnuwqh/NuIoh8o33wB1b2oRe64E6cLD/D"}]},"maintainers":[{"name":"makinacorpus","email":"dev+npm@makina-corpus.com"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/leaflet-snap-0.0.4.tgz_1472027406901_0.2881839706096798"}}},"readme":"Leaflet.Snap\n============\n\nEnables snapping of draggable markers to polylines and other layers !\n\nCheck out the [demo](http://makinacorpus.github.com/Leaflet.Snap/) !\n\n\nIt depends on [Leaflet.GeometryUtil](https://github.com/makinacorpus/Leaflet.GeometryUtil).\n\nFor snapping on shape drawing or edition snapping, it also depends on [Leaflet.draw](https://github.com/Leaflet/Leaflet.draw).\n\nIf your guide layer contains several thousands for features, adding the [LayerIndex](https://github.com/makinacorpus/Leaflet.LayerIndex) is recommended, this plugin takes advantage of the spatial index if it is available.\n\nUsage\n-----\n\n* Add ``leaflet.snap.js`` and ``leaflet.geometryutil.js`` (optionally ``leaflet.draw.js``)\n\n### For markers :\n\n```javascript\n\n    var guideLayer = ...;\n\n    var marker = L.marker([48.488, 1.395]).addTo(map);\n        marker.snapediting = new L.Handler.MarkerSnap(map, marker);\n        marker.snapediting.addGuideLayer(guideLayer);\n        marker.snapediting.enable();\n```\n\n### For Leaflet.Draw :\n\n```javascript\n\n    var guideLayers = [guides, road];\n\n    map.drawControl.setDrawingOptions({\n        polyline: { guideLayers: guideLayers },\n        polygon: { guideLayers: guideLayers, snapDistance: 5 },\n    });\n```\n\n### For editing existing polyline :\n\n```javascript\n    var polyline = L.polyline(...).addTo(map);\n        polyline.snapediting = new L.Handler.PolylineSnap(map, polyline);\n        polyline.snapediting.addGuideLayer(guideLayer);\n        polyline.snapediting.enable();\n```\n\nBoth ``L.Handler.MarkerSnap`` and ``L.Handler.PolylineSnap`` accept options as a third\nargument.\n\n### For editing existing polyline with L.EditToolbar.SnapEdit :\n\nL.EditToolbar.SnapEdit is an extension of L.EditToolbar.Edit in Leaflet.draw.\n\n```javascript\nvar polyline = L.polyline(...).addTo(map);\nvar editToolbar = new L.EditToolbar.SnapEdit(map, {\n   featureGroup: L.featureGroup([polyline]),\n   snapOptions: {\n      guideLayers: [guideLayer]\n   }\n});\n\neditToolbar.enable();\n```\n\n```L.EditToolbar.SnapEdit``` accepts options and initial guide layers.  \n\n### Options:\n\n**snapDistance** : (default 15) distance in pixels where snapping occurs\n\n**snapVertices** : (default true) whether layers vertices add additional snap attraction\n\n### Events :\n\n**snap** ( _layer_, _latlng_ ) : fired when snapped to ``layer`` at ``latlng``\n\n**unsnap** ( _layer_ ) : fired when unsnapped from ``layer``\n\n\nCHANGELOG\n---------\n\n### 0.0.4\n\n* Fix to use leaflet-draw ^0.3.0\n* Delete git module and use node module instead\n* Can Snap for 'editing existing polyline with L.EditToolbar.SnapEdit' \n* Example can be use with http / https\n\n### 0.0.3\n\n* Set the newly drawn point/vertex to the snapped location\n\n### 0.0.2\n\n* Disable snapping when the feature is deleted\n\n### 0.0.1\n\n* Fix Snaping if guide layer has Leaflet.LayerIndex\n\n\nTODO\n----\n\n* Add init hooks to simplify initialization\n\nAuthors\n-------\n\n* Mathieu Leplatre\n* Tobias Bieniek\n* Frédéric Bonifas\n\n[![Makina Corpus](http://depot.makina-corpus.org/public/logo.gif)](http://makinacorpus.com)\n","maintainers":[{"name":"makinacorpus","email":"dev+npm@makina-corpus.com"}],"time":{"modified":"2022-06-19T11:15:07.026Z","created":"2016-08-24T08:30:09.433Z","0.0.4":"2016-08-24T08:30:09.433Z"},"homepage":"https://github.com/makinacorpus/Leaflet.Snap#readme","keywords":["Leaflet","GIS"],"repository":{"type":"git","url":"git://github.com/makinacorpus/Leaflet.Snap.git"},"bugs":{"url":"https://github.com/makinacorpus/Leaflet.Snap/issues"},"license":"MIT","readmeFilename":"README.md"}