{"version":3,"sources":["jsdelivr-header.js","/npm/leaflet-betterscale@1.0.0/L.Control.BetterScale.js"],"names":[],"mappings":"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","file":"/npm/leaflet-betterscale@1.0.0/L.Control.BetterScale.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/leaflet-betterscale@1.0.0/L.Control.BetterScale.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","L.Control.BetterScale = L.Control.extend({\n    options: {\n        position: \"bottomleft\",\n        maxWidth: 150,\n        metric: !1,\n        imperial: !0,\n        updateWhenIdle: !1\n    },\n    onAdd: function (t) {\n        this._map = t;\n        var e = \"leaflet-control-better-scale\",\n            i = L.DomUtil.create(\"div\", e),\n            n = this.options,\n            s = L.DomUtil.create(\"div\", e + \"-ruler\", i);\n        L.DomUtil.create(\"div\", e + \"-ruler-block \" + e + \"-upper-first-piece\", s), L.DomUtil.create(\"div\", e + \"-ruler-block \" + e + \"-upper-second-piece\", s), L.DomUtil.create(\"div\", e + \"-ruler-block \" + e + \"-lower-first-piece\", s), L.DomUtil.create(\"div\", e + \"-ruler-block \" + e + \"-lower-second-piece\", s);\n        return this._addScales(n, e, i), this.ScaleContainer = i, t.on(n.updateWhenIdle ? \"moveend\" : \"move\", this._update, this), t.whenReady(this._update, this), i\n    },\n    onRemove: function (t) {\n        t.off(this.options.updateWhenIdle ? \"moveend\" : \"move\", this._update, this)\n    },\n    _addScales: function (t, e, i) {\n        this._iScale = L.DomUtil.create(\"div\", e + \"-label-div\", i), this._iScaleLabel = L.DomUtil.create(\"div\", e + \"-label\", this._iScale), this._iScaleFirstNumber = L.DomUtil.create(\"div\", e + \"-label \" + e + \"-first-number\", this._iScale), this._iScaleSecondNumber = L.DomUtil.create(\"div\", e + \"-label \" + e + \"-second-number\", this._iScale)\n    },\n    _update: function () {\n        var t = this._map.getBounds(),\n            e = t.getCenter().lat,\n            i = 6378137 * Math.PI * Math.cos(e * Math.PI / 180),\n            n = i * (t.getNorthEast().lng - t.getSouthWest().lng) / 180,\n            o = this._map.getSize(),\n            s = this.options,\n            a = 0;\n        o.x > 0 && (a = n * (s.maxWidth / o.x)), this._updateScales(s, a)\n    },\n    _updateScales: function (t, e) {\n        t.metric && e && this._updateMetric(e), t.imperial && e && this._updateImperial(e)\n    },\n    _updateMetric_old: function (t) {\n        var e = this._getRoundNum(t);\n        this._iScale.style.width = this._getScaleWidth(e / t) + \"px\", this._iScaleLabel.innerHTML = 1e3 > e ? e + \" m\" : e / 1e3 + \" km\"\n    },\n    _updateMetric: function (t) {\n        var e, i, n, o, s, a = t,\n            r = this._iScaleFirstNumber,\n            h = this._iScaleSecondNumber,\n            l = this._iScale,\n            u = this._iScaleLabel;\n        u.innerHTML = \"0\", a > 500 ? (e = a / 1000, i = this._getRoundNum(e), o = this._getRoundNum(e / 2), l.style.width = this._getScaleWidth(i / e) + \"px\", r.innerHTML = o, h.innerHTML = i + \"km\") : (n = this._getRoundNum(a), s = this._getRoundNum(a / 2), l.style.width = this._getScaleWidth(n / a) + \"px\", r.innerHTML = s, h.innerHTML = n + \"m\")\n    },\n    _updateImperial: function (t) {\n        var e, i, n, o, s, a = 3.2808399 * t,\n            r = this._iScaleFirstNumber,\n            h = this._iScaleSecondNumber,\n            l = this._iScale,\n            u = this._iScaleLabel;\n        u.innerHTML = \"0\", a > 2640 ? (e = a / 5280, i = this._getRoundNum(e), o = this._getRoundNum(e / 2), l.style.width = this._getScaleWidth(i / e) + \"px\", r.innerHTML = o, h.innerHTML = i + \"mi\") : (n = this._getRoundNum(a), s = this._getRoundNum(a / 2), l.style.width = this._getScaleWidth(n / a) + \"px\", r.innerHTML = s, h.innerHTML = n + \"ft\")\n    },\n    _getScaleWidth: function (t) {\n        return Math.round(this.options.maxWidth * t) - 10\n    },\n    _getRoundNum: function (t) {\n        if (t >= 2) {\n            var e = Math.pow(10, (Math.floor(t) + \"\").length - 1),\n                i = t / e;\n            return i = i >= 10 ? 10 : i >= 5 ? 5 : i >= 3 ? 3 : i >= 2 ? 2 : 1, e * i\n        }\n        return (Math.round(100 * t) / 100).toFixed(1)\n    }\n});\n\nL.control.betterscale = function (options) {\n    return new L.Control.BetterScale(options)\n};\n"]}