nakarte

Source code of https://map.sikmir.ru (fork)
git clone git://git.sikmir.ru/nakarte
Log | Files | Refs | LICENSE

commit fc4691f2fb3ebca5ff48ecd624b1c8c1618835cc
parent 9a261eaa01c4d3d7eeb6ca791e659850a69a68bc
Author: Sergej Orlov <wladimirych@gmail.com>
Date:   Mon,  9 Dec 2019 22:29:08 +0100

Merge branch 'dependabot/npm_and_yarn/rbush-3.0.1'

Diffstat:
Mpackage.json | 2+-
Msrc/lib/leaflet.layer.canvasMarkers/index.js | 26+++++++++++++++++++++++---
Myarn.lock | 12++++++++++++
3 files changed, 36 insertions(+), 4 deletions(-)

diff --git a/package.json b/package.json @@ -65,7 +65,7 @@ "mapillary-js": "2.5.2", "pbf": "^3.0.5", "raven-js": "^3.27.0", - "rbush": "^2.0.1", + "rbush": "^3.0.1", "regenerator-runtime": "^0.13.3", "tiny-inflate": "^1.0.2", "utf8": "^3.0.0" diff --git a/src/lib/leaflet.layer.canvasMarkers/index.js b/src/lib/leaflet.layer.canvasMarkers/index.js @@ -1,6 +1,6 @@ import L from 'leaflet'; import './canvasMarkers.css'; -import rbush from 'rbush'; +import RBush from 'rbush'; import loadImage from 'image-promise'; import {wrapLatLngToTarget} from '~/lib/leaflet.fixes/fixWorldCopyJump'; @@ -31,6 +31,26 @@ function calcIntersectionSum(rect, rects) { return sum; } +class MarkerRBush extends RBush { + toBBox(marker) { + const x = marker.latlng.lng; + const y = marker.latlng.lat; + return { + minX: x, + minY: y, + maxX: x, + maxY: y}; + } + + compareMinX(a, b) { + return a.latlng.lng - b.latlng.lng; + } + + compareMinY(a, b) { + return a.latlng.lat - b.latlng.lat; + } +} + L.Layer.CanvasMarkers = L.GridLayer.extend({ options: { async: true, @@ -44,8 +64,8 @@ L.Layer.CanvasMarkers = L.GridLayer.extend({ initialize: function(markers, options) { L.GridLayer.prototype.initialize.call(this, options); - this.rtree = rbush(9, ['.latlng.lng', '.latlng.lat', '.latlng.lng', '.latlng.lat']); - this._regions = rbush(); + this.rtree = new MarkerRBush(9); + this._regions = new RBush(); this._iconPositions = {}; this._labelPositions = {}; this._labelPositionsZoom = null; diff --git a/yarn.lock b/yarn.lock @@ -7351,6 +7351,11 @@ quickselect@^1.0.1: resolved "https://registry.yarnpkg.com/quickselect/-/quickselect-1.1.1.tgz#852e412ce418f237ad5b660d70cffac647ae94c2" integrity sha512-qN0Gqdw4c4KGPsBOQafj6yj/PA6c/L63f6CaZ/DCF/xF4Esu3jVmKLUDYxghFx8Kb/O7y9tI7x2RjTSXwdK1iQ== +quickselect@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/quickselect/-/quickselect-2.0.0.tgz#f19680a486a5eefb581303e023e98faaf25dd018" + integrity sha512-RKJ22hX8mHe3Y6wH/N3wCM6BWtjaxIyyUIkpHOvfFnxdI4yD4tBXEBKSbriGujF6jnSVkJrffuo6vxACiSSxIw== + randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5: version "2.1.0" resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" @@ -7411,6 +7416,13 @@ rbush@^2.0.1: dependencies: quickselect "^1.0.1" +rbush@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/rbush/-/rbush-3.0.1.tgz#5fafa8a79b3b9afdfe5008403a720cc1de882ecf" + integrity sha512-XRaVO0YecOpEuIvbhbpTrZgoiI6xBlz6hnlr6EHhd+0x9ase6EmeN+hdwwUaJvLcsFFQ8iWVF1GAK1yB0BWi0w== + dependencies: + quickselect "^2.0.0" + rc@^1.0.1, rc@^1.1.6, rc@^1.2.7: version "1.2.8" resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed"