{"_id":"leaflet-canvas-marker","_rev":"6-a118a103f65bfda6d22e376df63c461f","name":"leaflet-canvas-marker","description":"Leaflet plugin to display markers on canvas instead of DOM","dist-tags":{"latest":"0.2.0","beta":"0.2.1"},"versions":{"0.1.2":{"name":"leaflet-canvas-marker","version":"0.1.2","description":"Leaflet plugin to display icons on canvas instead of DOM","main":"dist/leaflet.canvas-icons.js","directories":{"example":"examples","lib":"dist"},"scripts":{"build":"uglifyjs src/leaflet.canvas-markers.js -c -m  -o dist/leaflet.canvas-markers.js","prepublish":"npm run build"},"keywords":["leaflet","leaflet-plugin"],"author":{"name":"Evgeniy Voynov","email":"voynov.ev@gmail.com","url":"http://github.com/eJuke"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/eJuke/Leaflet.Canvas-Markers.git"},"devDependencies":{"uglify-js":"^3.0.27"},"peerDependencies":{"leaflet":"^1.0.0"},"gitHead":"54fc82045eb7c2c41f94fc1a6e9332a323a6ba6c","bugs":{"url":"https://github.com/eJuke/Leaflet.Canvas-Markers/issues"},"homepage":"https://github.com/eJuke/Leaflet.Canvas-Markers#readme","_id":"leaflet-canvas-marker@0.1.2","_shasum":"fe022741542a2cabcb7a4b63a76da36441b3f236","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.11.2","_npmUser":{"name":"ejuke","email":"voynov.ev@gmail.com"},"dist":{"shasum":"fe022741542a2cabcb7a4b63a76da36441b3f236","tarball":"https://registry.npmjs.org/leaflet-canvas-marker/-/leaflet-canvas-marker-0.1.2.tgz","integrity":"sha512-OM0kHNGqyzIvpYthlTNF3DuILRgxjbilcLrJoDp+kpc0UtWjGFf/T7fsrqrSmWJ5sfBzCPbBb7BNK01bSQDZbg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGKldMIJwbHIqYuT74Jxa2URfMZXIn5+PJr95iD8ZBM7AiEAph/Q1Nn0c+KVdgqcrN3/+AXmT096VwY6lqwBupJPIeA="}]},"maintainers":[{"name":"ejuke","email":"voynov.ev@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/leaflet-canvas-marker-0.1.2.tgz_1508928993950_0.7602638187818229"}},"0.1.3":{"name":"leaflet-canvas-marker","version":"0.1.3","description":"Leaflet plugin to display icons on canvas instead of DOM","main":"dist/leaflet.canvas-icons.js","directories":{"example":"examples","lib":"dist"},"scripts":{"build":"uglifyjs src/leaflet.canvas-markers.js -c -m  -o dist/leaflet.canvas-markers.js","prepublish":"npm run build"},"keywords":["leaflet","leaflet-plugin"],"author":{"name":"Evgeniy Voynov","email":"voynov.ev@gmail.com","url":"http://github.com/eJuke"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/eJuke/Leaflet.Canvas-Markers.git"},"devDependencies":{"uglify-js":"^3.0.27"},"peerDependencies":{"leaflet":"^1.0.0"},"gitHead":"963a6506843058c32871630fab6d06d28ecfcfbd","bugs":{"url":"https://github.com/eJuke/Leaflet.Canvas-Markers/issues"},"homepage":"https://github.com/eJuke/Leaflet.Canvas-Markers#readme","_id":"leaflet-canvas-marker@0.1.3","_npmVersion":"5.6.0","_nodeVersion":"7.7.1","_npmUser":{"name":"ejuke","email":"voynov.ev@gmail.com"},"dist":{"integrity":"sha512-1TT33dCgZtg5ceAj+Ay4d5kGr7PI4QV45rgkAlQ5UtX2natpNKVgM4gR4dahP/JgskDF+m7GbS5bLth6kOX6rQ==","shasum":"ea0ac24368cd84084ad21bfba84a58fc43878f92","tarball":"https://registry.npmjs.org/leaflet-canvas-marker/-/leaflet-canvas-marker-0.1.3.tgz","fileCount":10,"unpackedSize":16945,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa5yelCRA9TVsSAnZWagAADMUP/i0anoKAal/zATSeLs2V\nDSza4hvl0+qrIpSYxWKqpXJBwVhC57d2jlqBPTG41iwB4t7grRoz0TsGxzQ5\n0QJp63tDU0EuOs5VkcX9Vq8rJF0uhUN4NJv2LvYWhXCiR9HZo0VJgc9HVtob\npF5BPGzkXylZCMEigVp6kYN5J3RLYRmFsCiy3tt6nz9gqAVoBoyLUHS/KVzN\neGffDCGjDcVN0J5QySRe8H7e0nEjvRwB/RHXd434+ZZU/8mxENfDAvj+7uPz\nhFLaDzmidOE/H0MSswjsvG8GXTiF3MaHfeASBtA37KxOnQJA8N9wKmiLig6Z\nvFLbtHaBg3BmJlbhRQJPAVkZQbjzY2+mGS9p7cG39G8ckeF+7yvEsu7qSumR\n8zQy9iBj8FofbkWUOB62Q9zejtRrwyG3IZQnTJVn8l7Jxtok0KSeRd2kPUNg\n3ffIGT09OId8oezehnKXhiplAEecmbVVkjLGNlgPYwsyq5FNv0Luii6dUJke\nF72+hmuqI99RUj6DVb/gxFDgctJTass+BnWfP7fSTRpS+yVaMrMlx6wVbAB7\nhuTe48DYLeIKV0K56+Ro6pm3Rn3XlNZPRw0ErkoyqAUB7VflketfR8gHUBC+\nPW5GEIBUcR2aCScLF58QGdnThmSpUZp8hPePtLnvMG9jmF4LXaBa4CcIQRJY\nPYpK\r\n=p+ml\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDiQ+fq2kh9Aby0wepWHILBw80NEVtYQmf8tLWLhl8dWAiEAgUgo5+RuhMcIp/+kBFdEY5KTzpp3XBGceqRCI9ckpoI="}]},"maintainers":[{"name":"ejuke","email":"voynov.ev@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/leaflet-canvas-marker_0.1.3_1525098404447_0.9991788935115853"},"_hasShrinkwrap":false},"0.2.0":{"name":"leaflet-canvas-marker","version":"0.2.0","description":"Leaflet plugin to display markers on canvas instead of DOM","main":"dist/leaflet.canvas-markers.js","directories":{"example":"examples","lib":"dist"},"scripts":{"build:test":"set NODE_ENV=test&& webpack","build":"set NODE_ENV=prod&& webpack","watch":"set NODE_ENV=test&& webpack --watch","prepublish":"npm run build"},"keywords":["leaflet","leaflet-plugin","marker","map"],"author":{"name":"Evgeniy Voynov","email":"voynov.ev@gmail.com","url":"http://github.com/eJuke"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/eJuke/Leaflet.Canvas-Markers.git"},"devDependencies":{"script-loader":"^0.7.2","uglifyjs-webpack-plugin":"^1.2.5","webpack":"^4.12.0","webpack-cli":"^3.0.3"},"peerDependencies":{"leaflet":"^1.0.0"},"dependencies":{"rbush":"^2.0.2"},"gitHead":"d1e94ed4c222dfab7b7e1b1d4deb01f0a6fc811b","bugs":{"url":"https://github.com/eJuke/Leaflet.Canvas-Markers/issues"},"homepage":"https://github.com/eJuke/Leaflet.Canvas-Markers#readme","_id":"leaflet-canvas-marker@0.2.0","_npmVersion":"5.6.0","_nodeVersion":"7.7.1","_npmUser":{"name":"ejuke","email":"voynov.ev@gmail.com"},"dist":{"integrity":"sha512-BKVcBT+sndtN3SId+fe1+kNJHmpLOxCnQX7GNCQ6COmTWiEmmiZ0S1FmH87I0DIR1TqFBzVYVEFCWWHmpeYWyw==","shasum":"997fc81615c0e118e04ce891bee390aac3066fa1","tarball":"https://registry.npmjs.org/leaflet-canvas-marker/-/leaflet-canvas-marker-0.2.0.tgz","fileCount":15,"unpackedSize":41508,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbG7yUCRA9TVsSAnZWagAA/wIP/3bdPqqhXM1eL42TJo0o\nt01BrUD8qj7knt0ZUcRc9S/qLqWZxfJ5DOZNpV8W2VoYVtJOwnK+5lLpRJec\n6hl5JjRTD5w/1X3sXaHWWtAvQ3FjNh2xBFLsljJZ3ji56k/IQxjfi8MT8TK0\neoM26XV4GYtFYl1DdKKMElyjuFYJvs+2qhIOIUGWSFszjcZG/BJc0njBGGFu\nYn3EuA+t1yHri0XdxEboR6MZqwp0Jigj3V0GzzXCOjN8umkQxD++P6YzfBfs\noV2hwnap/czMVcAGJTkzE6mM+vAxXx9N3bKNCQ2IRcGfJwFbuRQmESstBqSl\nxzHSoLVWZOFeNz7exdGEQWBTJ6jQ1U3M6As9rcTZl5SDC4atCe+AgYuD6eOn\nb4vmkh6ueyEdo/+ouCFH4QZ4CLtpnS2ss0qInpNCwe/cmlyhtAArF8GhIW5l\n7KeNvwNKJwZIs8q2G1JAfhg6eag+iSX6CtYn/C1PlL46eKfrWDtfIy6Do7G5\n0VptATl+3O7Jtq/sPyNvPhWJYu8CTd51rMNkZoSTQ46AVQAuR2HWtPxmvS1l\nl7SFt5JjYgBhBYCimshXxMcGj3nf5+9pL3SHb8bwK54C2joRCOUaw+J77A3o\nOfBwJZYKC+brz+qYtdJtKjW6sEn8PARvsOf0hRwmqasAQUeU9ut27qaIorcm\nRb2S\r\n=8oPf\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICJjeb2+2ptmCZemebP3V59xM8t0OKUpuS4kB6wZ1O+ZAiEA7CtxXIWEI0MjZQdq7pHGPsmhfa1wCCCJSK9L+N19ibI="}]},"maintainers":[{"name":"ejuke","email":"voynov.ev@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/leaflet-canvas-marker_0.2.0_1528544404126_0.8210263812438912"},"_hasShrinkwrap":false},"0.2.1":{"name":"leaflet-canvas-marker","version":"0.2.1","description":"Leaflet plugin to display markers on canvas instead of DOM","main":"dist/leaflet.canvas-markers.js","directories":{"example":"examples","lib":"dist"},"scripts":{"build:test":"set NODE_ENV=test&& webpack","build":"set NODE_ENV=prod&& webpack","watch":"set NODE_ENV=test&& webpack --watch","prepublish":"npm run build"},"keywords":["leaflet","leaflet-plugin","marker","map"],"author":{"name":"Evgeniy Voynov","email":"voynov.ev@gmail.com","url":"http://github.com/eJuke"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/eJuke/Leaflet.Canvas-Markers.git"},"devDependencies":{"script-loader":"^0.7.2","uglifyjs-webpack-plugin":"^1.2.5","webpack":"^4.12.0","webpack-cli":"^3.0.3"},"peerDependencies":{"leaflet":"^1.0.0"},"dependencies":{"rbush":"^2.0.2"},"readme":"# Leaflet.Canvas-Markers\r\nLeaflet plugin for displaying markers on canvas instead of DOM. Working with Leaflet 1.0.0 and above.\r\nFeel free to contribute\r\n\r\n## Demo\r\n\r\nThere's a [demo](http://eJuke.github.io/Leaflet.Canvas-Markers/examples/index.html) for 10000 points, running on Canvas\r\n\r\n## Installation and basic usage\r\n\r\nJust download `leaflet.canvas-markers.js` from the `dist` folder and attach it to your project.\r\n\r\n```html\r\n<script src=\"leaflet.canvas-markers.js\"></script>\r\n```\r\n\r\nNow attach layer to map and some markers.\r\n\r\n```js\r\n// Adds a layer\r\nvar ciLayer = L.canvasIconLayer({}).addTo(map);\r\n\r\n// Marker definition\r\nvar marker =  L.marker([58.5578, 29.0087], {icon: icon});\r\n\r\n// Adding marker to layer\r\nciLayer.addMarker(marker);\r\n```\r\n\r\n## Benchmark\r\n\r\nPlugin was tested in Google Chrome v66 & IE11. There is results for 100000 markers:\r\n\r\n<table>\r\n  <thead>\r\n    <tr>\r\n      <th>Parameter</th>\r\n      <th>Default Leaflet Markers</th>\r\n      <th><b>Leaflet.Canvas-Markers</b></th>\r\n    </tr>\r\n  </thead>\r\n  <tbody>\r\n    <tr>\r\n      <td>Memory used</td>\r\n      <td>up to 2.8 Gb</td>\r\n      <td><b>about 300 Mb</b></td>\r\n    </tr>\r\n    <tr>\r\n      <td>First load time</td>\r\n      <td>160-200 seconds</td>\r\n      <td><b><1 seconds</b></td>\r\n    </tr>\r\n    <tr>\r\n      <td>Zoom and move time</td>\r\n      <td>more than 3 minutes</td>\r\n      <td><b>0.5 seconds</b></td>\r\n    </tr>\r\n  </tbody>\r\n</table>\r\n\r\nAs you can see DOM operations are slow, so you should use canvas for a large number of markers.\r\n\r\nYou can also use L.circleMarker for your points with similar performance, but then you're limited to icon design.\r\n\r\n## Methods\r\n\r\n- **addMarker(marker)**: Adds a marker to the layer.\r\n- **addMarkers(markers)**: Adds a markers to the layer.\r\n- **removeMarker(marker, redraw)**: Removes a marker from the layer. Set **redraw** to `true` if you want to redraw layer after marker remove\r\n- **redraw()**: Redraws the layer\r\n- **addOnClickListener(eventHandler)**: Adds common click listener for all markers\r\n- **addOnHoverListener(eventHandler)**: Adds a hover over listener for all markers\r\n\r\nI also implemented binds for default **addLayer**, **addLayers** and **removeLayer** (equal to removeMarker(marker, _true_) methods.\r\n\r\n## Contributors\r\n\r\n[crzo](https://github.com/crzo), [Spaction](https://github.com/Spaction)\r\n","readmeFilename":"README.md","gitHead":"1cfcf17ea5d9001925c4c50b1d81dcc058593124","bugs":{"url":"https://github.com/eJuke/Leaflet.Canvas-Markers/issues"},"homepage":"https://github.com/eJuke/Leaflet.Canvas-Markers#readme","_id":"leaflet-canvas-marker@0.2.1","_npmVersion":"6.4.1","_nodeVersion":"8.12.0","_npmUser":{"name":"ejuke","email":"voynov.ev@gmail.com"},"dist":{"integrity":"sha512-+ADidiV/fis0rIzce4TDdeTQTkNDMYGi8mHVOIueIxSiHz8CaMELxrp0TfmgbzFZ5Voz4X6LveElbZdT5SSolw==","shasum":"3d9289c74fd09b73a3706916aa4929fe8b0c6e30","tarball":"https://registry.npmjs.org/leaflet-canvas-marker/-/leaflet-canvas-marker-0.2.1.tgz","fileCount":10,"unpackedSize":38148,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJckVYuCRA9TVsSAnZWagAA/8UP/iuc7f8kj8qSf1R1loAk\n7TuzbFIQAjyPgejQz8kd3AcOnq+qUgCyjNjOjnmVhJnjD4VEp/pFQhnQ5Zkw\n45+vDXF2mStrookttF1kKO8kcTSo9/TB96h+SORpOi3gNiDLqiHxgq+Ei7HW\nq/KeNjQDP4daKd6xlx529wXlowLw3oZ0HNVF/onDUAsv0Udk8k/6bDmUa3pl\nHRgiNCbD9WDOZh0B7ftUllnX8LYooJjOD5X3veI4cQjyMDrqJAzqTQX+S7DH\nBGz2lisFVlsZPevhS+3l2HjdJ02DUipFCf3PDFEgkdq/3Mb4GNgfLTmWJtil\nzzEQZ6dA0ok3RtR81pLP1xWwV1thfWlknFweBJPWBxhBnRr4e1KpuE9UtOyE\nL3yJeIX1FDnl3KWYozNv2eYunr/+DfY7kBzwPNGBeXdochZvnYgur/xesCGB\n2tqGUaHGVKHzWpfQwYVnmVqVZszROxnwN8VDr2ZtRch+nRHE8/Qt2JeLAweE\noYG91el9oZNirersthKst5HI9az7uE8duaTYW8wuxFWoF7LWk7phKdcrXBtn\nJ+TmAeYJPJvTvLduUF/uVVYP3bE7VkjQ10OheKW1/vxH/posg1SLDaDzj7c/\nKMcWPEM8cES5h7xzK+DlW0nP55SV/gJrLIyYTtDGT3xtjknqSv5blp6YAJvT\nSyz3\r\n=DSdu\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCeY3UHV3lTTV1mc/bMtaVHd3JYFEcmdXc0y+jVssCCvwIhAOCeq5LolVGD4+oPQsiwmUhgk+OwpH1zHcr37+qyaPrn"}]},"maintainers":[{"name":"ejuke","email":"voynov.ev@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/leaflet-canvas-marker_0.2.1_1553028653977_0.9225274937623251"},"_hasShrinkwrap":false}},"readme":"","maintainers":[{"name":"ejuke","email":"voynov.ev@gmail.com"}],"time":{"modified":"2022-06-19T11:11:33.770Z","created":"2017-10-25T10:56:34.861Z","0.1.2":"2017-10-25T10:56:34.861Z","0.1.3":"2018-04-30T14:26:44.642Z","0.2.0":"2018-06-09T11:40:04.211Z","0.2.1":"2019-03-19T20:50:54.061Z"},"homepage":"https://github.com/eJuke/Leaflet.Canvas-Markers#readme","keywords":["leaflet","leaflet-plugin","marker","map"],"repository":{"type":"git","url":"git+https://github.com/eJuke/Leaflet.Canvas-Markers.git"},"author":{"name":"Evgeniy Voynov","email":"voynov.ev@gmail.com","url":"http://github.com/eJuke"},"bugs":{"url":"https://github.com/eJuke/Leaflet.Canvas-Markers/issues"},"license":"MIT","readmeFilename":""}