@maptrip/map-tiles 1.0.8 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -47,7 +47,7 @@ Install [LeafletJS](https://leafletjs.com/) with `npm install leaflet@~1.9.x`. T
47
47
  you create an instance of `MapTripLeafletGridLayer` and add it to the layers of a map:
48
48
 
49
49
  ```js
50
- import { MapTripLeafletGridLayer } from "dist/map-tiles.js";
50
+ import { MapTripLeafletGridLayer } from "@maptrip/map-tiles";
51
51
 
52
52
  import L from 'leaflet';
53
53
  import 'leaflet/dist/leaflet.css';
@@ -79,7 +79,7 @@ Install [OpenLayers](https://openlayers.org/) with `npm install ol@~8.2.x`. To c
79
79
  and MapTrip map tiles, you create an instance of `MapTripOpenLayersSource` and add it to the layers of a map:
80
80
 
81
81
  ```js
82
- import { MapTripOpenLayersSource } from "dist/map-tiles.js";
82
+ import { MapTripOpenLayersSource } from "@maptrip/map-tiles";
83
83
 
84
84
  import Map from "ol/Map.js";
85
85
  import View from "ol/View.js";
@@ -117,7 +117,7 @@ Install the [Google Maps JavaScript API](https://developers.google.com/maps/docu
117
117
  JS loader with `npm install @googlemaps/js-api-loader@~1.16.x`.
118
118
 
119
119
  ```js
120
- import { MapTripGoogleMapType } from "dist/map-tiles.js";
120
+ import { MapTripGoogleMapType } from "@maptrip/map-tiles";
121
121
  import { Loader } from "@googlemaps/js-api-loader";
122
122
 
123
123
  new Loader({
@@ -160,6 +160,8 @@ This function will be called with the x, y and z indexes of all tiles. To create
160
160
  you can use our factory class. This is initialized with the map provider you want to use:
161
161
 
162
162
  ```js
163
+ import { VectorTileFactory } from "@maptrip/map-tiles";
164
+
163
165
  const factory = VectorTileFactory.createFactory({ provider: "TomTom" });
164
166
  ```
165
167
 
@@ -193,6 +195,37 @@ const factory = VectorTileFactory.createFactory({
193
195
  Which data you are allowed to use depends on your MapTrip license.
194
196
  If in doubt, please contact our [support team](mailto:support@infoware.de).
195
197
 
198
+ ## MapTrip Detour Profiles
199
+
200
+ You can use the [MapTrip Detour Editor](https://editor.maptrip.de/detour/) to create your own profiles that change the map data. For example, you can block or prioritize roads and even delete or add new roads.
201
+
202
+ Deleting or adding new roads affect the map when you specify your profile: Deleted roads are no longer visible and newly created roads are shown in the map.
203
+
204
+ Use the endpoint `GET /detour/file/all` of the [MapTrip Server API](https://api.maptrip.de/) to query the profile string of all your Detour files created in the editor or with the API.
205
+
206
+ Let's assume the response looks like this:
207
+
208
+ ```json
209
+ [
210
+ {
211
+ "id": 12345,
212
+ "name": "My Detour File",
213
+ "version": 10,
214
+ "profile": "olrclient_MapTrip_xxxxx_56789_My Detour File"
215
+ }
216
+ ]
217
+ ```
218
+
219
+ In this case you have to provide the profile `olrclient_MapTrip_xxxxx_56789_My Detour File` to show it in the map:
220
+
221
+ ```js
222
+ const layer = new MapTripLeafletGridLayer({
223
+ provider: "TomTom",
224
+ detourProfile: "olrclient_MapTrip_xxxxx_56789_My Detour File",
225
+ token: "Insert your MapTrip token here",
226
+ });
227
+ ```
228
+
196
229
  ## Properties
197
230
 
198
231
  You can specify a third parameter with properties when creating the factory. These values are available:
@@ -204,6 +237,7 @@ You can specify a third parameter with properties when creating the factory. The
204
237
  | traffic | Add traffic flows to the map tiles (only available for TomTom and HERE maps) | false |
205
238
  | timeout | Load timeout for tiles in milliseconds. Increase this if you have a very slow internet connection | 5000 |
206
239
  | parallelDownloads | The number of tiles that are loaded in parallel | 12 |
240
+ | detourProfile | The name of a MapTrip Detour Profile, see *MapTrip Detour* | |
207
241
  | renderingConfig | Set a custom rendering configuration to customize layers, colors, line widths etc. | RENDERING_CONFIG_DEFAULT |
208
242
 
209
243
  This factory initializes a factory with TomTom data and traffic flows:
@@ -237,3 +271,8 @@ const factory = VectorTileFactory.createFactory({
237
271
 
238
272
  It will create tiles which have a transparent background and semi-transparent traffic flows.
239
273
  To use them, you mapping API has to be able to use both base layers and overlays.
274
+
275
+ ## History
276
+
277
+ - 1.1.0: Added MapTrip detour profiles
278
+ - 1.0.8: First public version
package/dist/map-tiles.js CHANGED
@@ -62,10 +62,11 @@ const re = class re {
62
62
  }
63
63
  }).bind(this), u.ontimeout = (function() {
64
64
  e.errorCallback(u.responseText), this._numLoading--, this.loadNext();
65
- }).bind(this), u.open("GET", r, !0), u.setRequestHeader("Authorization", `Bearer ${e.tile.token}`), u.timeout = this._properties.timeout, u.send(null), this._numLoading++;
65
+ }).bind(this), this._properties.detourProfile && (r += "&SP_USE=" + encodeURIComponent(this._properties.detourProfile)), u.open("GET", r, !0), u.setRequestHeader("Authorization", `Bearer ${e.tile.token}`), u.timeout = this._properties.timeout, u.send(null), this._numLoading++;
66
66
  }
67
67
  };
68
68
  Pt(re, "DEFAULT_PROPERTIES", {
69
+ detourProfile: null,
69
70
  timeout: 5e3,
70
71
  parallelDownloads: 12
71
72
  });
@@ -127,9 +128,9 @@ ii.squarifiedRatio = function(a, e, s) {
127
128
  return u * s / g;
128
129
  };
129
130
  var Rn = ii, yt = Rn;
130
- function Ui(a) {
131
- if (!(this instanceof Ui))
132
- return new Ui(a);
131
+ function Zi(a) {
132
+ if (!(this instanceof Zi))
133
+ return new Zi(a);
133
134
  var e = 3, s = 6;
134
135
  isNaN(a) || (e = Math.floor(a / 2), s = a);
135
136
  var r = { x: 0, y: 0, w: 0, h: 0, id: "root", nodes: [] };
@@ -139,19 +140,19 @@ function Ui(a) {
139
140
  x = m.pop(), x.nodes ? m = m.concat(x.nodes) : x.leaf && j.push(x);
140
141
  return j;
141
142
  }, g = function(A, m, j) {
142
- var x = [], O = [], k = [], v, Q, U;
143
+ var x = [], O = [], k = [], v, Q, Z;
143
144
  if (!A || !yt.overlapRectangle(A, j))
144
145
  return k;
145
146
  var R = { x: A.x, y: A.y, w: A.w, h: A.h, target: m };
146
147
  for (O.push(j.nodes.length), x.push(j); x.length > 0; )
147
148
  if (v = x.pop(), Q = O.pop() - 1, "target" in R)
148
149
  for (; Q >= 0; ) {
149
- if (U = v.nodes[Q], yt.overlapRectangle(R, U))
150
- if (R.target && "leaf" in U && U.leaf === R.target || !R.target && ("leaf" in U || yt.containsRectangle(U, R))) {
151
- "nodes" in U ? k = u(v.nodes.splice(Q, 1)) : k = v.nodes.splice(Q, 1), yt.makeMBR(v.nodes, v), delete R.target;
150
+ if (Z = v.nodes[Q], yt.overlapRectangle(R, Z))
151
+ if (R.target && "leaf" in Z && Z.leaf === R.target || !R.target && ("leaf" in Z || yt.containsRectangle(Z, R))) {
152
+ "nodes" in Z ? k = u(v.nodes.splice(Q, 1)) : k = v.nodes.splice(Q, 1), yt.makeMBR(v.nodes, v), delete R.target;
152
153
  break;
153
154
  } else
154
- "nodes" in U && (O.push(Q), x.push(v), v = U, Q = U.nodes.length);
155
+ "nodes" in Z && (O.push(Q), x.push(v), v = Z, Q = Z.nodes.length);
155
156
  Q--;
156
157
  }
157
158
  else if ("nodes" in R) {
@@ -168,12 +169,12 @@ function Ui(a) {
168
169
  for (var v = m.nodes; k || j !== -1; ) {
169
170
  k ? k = !1 : (x.push(v[j]), v = v[j].nodes, j = -1);
170
171
  for (var Q = v.length - 1; Q >= 0; Q--) {
171
- var U = v[Q];
172
- if ("leaf" in U) {
172
+ var Z = v[Q];
173
+ if ("leaf" in Z) {
173
174
  j = -1;
174
175
  break;
175
176
  }
176
- var R = yt.squarifiedRatio(U.w, U.h, U.nodes.length + 1), et = Math.max(U.x + U.w, A.x + A.w) - Math.min(U.x, A.x), Dt = Math.max(U.y + U.h, A.y + A.h) - Math.min(U.y, A.y), tt = yt.squarifiedRatio(et, Dt, U.nodes.length + 2);
177
+ var R = yt.squarifiedRatio(Z.w, Z.h, Z.nodes.length + 1), et = Math.max(Z.x + Z.w, A.x + A.w) - Math.min(Z.x, A.x), Dt = Math.max(Z.y + Z.h, A.y + A.h) - Math.min(Z.y, A.y), tt = yt.squarifiedRatio(et, Dt, Z.nodes.length + 2);
177
178
  (j < 0 || Math.abs(tt - R) < O) && (O = Math.abs(tt - R), j = Q);
178
179
  }
179
180
  }
@@ -183,20 +184,20 @@ function Ui(a) {
183
184
  w(A, m[0], m[1]);
184
185
  return m;
185
186
  }, w = function(A, m, j) {
186
- for (var x = yt.squarifiedRatio(m.w, m.h, m.nodes.length + 1), O = yt.squarifiedRatio(j.w, j.h, j.nodes.length + 1), k, v, Q, U = A.length - 1; U >= 0; U--) {
187
- var R = A[U], et = {};
187
+ for (var x = yt.squarifiedRatio(m.w, m.h, m.nodes.length + 1), O = yt.squarifiedRatio(j.w, j.h, j.nodes.length + 1), k, v, Q, Z = A.length - 1; Z >= 0; Z--) {
188
+ var R = A[Z], et = {};
188
189
  et.x = Math.min(m.x, R.x), et.y = Math.min(m.y, R.y), et.w = Math.max(m.x + m.w, R.x + R.w) - et.x, et.h = Math.max(m.y + m.h, R.y + R.h) - et.y;
189
190
  var Dt = Math.abs(yt.squarifiedRatio(et.w, et.h, m.nodes.length + 2) - x), tt = {};
190
191
  tt.x = Math.min(j.x, R.x), tt.y = Math.min(j.y, R.y), tt.w = Math.max(j.x + j.w, R.x + R.w) - tt.x, tt.h = Math.max(j.y + j.h, R.y + R.h) - tt.y;
191
192
  var ht = Math.abs(yt.squarifiedRatio(tt.w, tt.h, j.nodes.length + 2) - O);
192
- (!v || !k || Math.abs(ht - Dt) < k) && (v = U, k = Math.abs(ht - Dt), Q = ht < Dt ? j : m);
193
+ (!v || !k || Math.abs(ht - Dt) < k) && (v = Z, k = Math.abs(ht - Dt), Q = ht < Dt ? j : m);
193
194
  }
194
195
  var wt = A.splice(v, 1)[0];
195
196
  m.nodes.length + A.length + 1 <= e ? (m.nodes.push(wt), yt.expandRectangle(m, wt)) : j.nodes.length + A.length + 1 <= e ? (j.nodes.push(wt), yt.expandRectangle(j, wt)) : (Q.nodes.push(wt), yt.expandRectangle(Q, wt));
196
197
  }, N = function(A) {
197
198
  for (var m = A.length - 1, j = 0, x = A.length - 1, O = 0, k, v, Q = A.length - 2; Q >= 0; Q--) {
198
- var U = A[Q];
199
- U.x > A[j].x ? j = Q : U.x + U.w < A[m].x + A[m].w && (m = Q), U.y > A[O].y ? O = Q : U.y + U.h < A[x].y + A[x].h && (x = Q);
199
+ var Z = A[Q];
200
+ Z.x > A[j].x ? j = Q : Z.x + Z.w < A[m].x + A[m].w && (m = Q), Z.y > A[O].y ? O = Q : Z.y + Z.h < A[x].y + A[x].h && (x = Q);
200
201
  }
201
202
  var R = Math.abs(A[m].x + A[m].w - A[j].x), et = Math.abs(A[x].y + A[x].h - A[O].y);
202
203
  return R > et ? m > j ? (k = A.splice(m, 1)[0], v = A.splice(j, 1)[0]) : (v = A.splice(j, 1)[0], k = A.splice(m, 1)[0]) : x > O ? (k = A.splice(x, 1)[0], v = A.splice(O, 1)[0]) : (v = A.splice(O, 1)[0], k = A.splice(x, 1)[0]), [
@@ -241,8 +242,8 @@ function Ui(a) {
241
242
  if (j.nodes.length <= s)
242
243
  O = { x: j.x, y: j.y, w: j.w, h: j.h };
243
244
  else {
244
- var U = I(j.nodes);
245
- O = U, x.length < 1 && (j.nodes.push(U[0]), x.push(j), O = U[1]);
245
+ var Z = I(j.nodes);
246
+ O = Z, x.length < 1 && (j.nodes.push(Z[0]), x.push(j), O = Z[1]);
246
247
  }
247
248
  } else
248
249
  yt.expandRectangle(j, O), O = { x: j.x, y: j.y, w: j.w, h: j.h };
@@ -270,14 +271,14 @@ function Ui(a) {
270
271
  return j;
271
272
  };
272
273
  }
273
- Ui.prototype.toJSON = function(a) {
274
+ Zi.prototype.toJSON = function(a) {
274
275
  return JSON.stringify(this.root, !1, a);
275
276
  };
276
- Ui.fromJSON = function(a) {
277
- var e = new Ui();
277
+ Zi.fromJSON = function(a) {
278
+ var e = new Zi();
278
279
  return e.setTree(JSON.parse(a)), e;
279
280
  };
280
- var Jr = Ui;
281
+ var Jr = Zi;
281
282
  typeof Array.isArray != "function" && (Array.isArray = function(a) {
282
283
  return typeof a == "object" && {}.toString.call(a) === "[object Array]";
283
284
  });
@@ -836,7 +837,7 @@ Pt(Bt, "DEFAULT_STYLE", {
836
837
  opacity: 1
837
838
  }
838
839
  });
839
- let Zn = Bt;
840
+ let Un = Bt;
840
841
  const ta = "https://v${index}.maptrip.de/?tilex=${x}&tiley=${y}&acao=true&context=tomtom${z}&project=${project}&projection=wgs84", Ks = {
841
842
  tomtom: "TomTom_latest",
842
843
  here: "HERE_latest",
@@ -2203,7 +2204,7 @@ var wo = { exports: {} };
2203
2204
  }
2204
2205
  return d.join(",");
2205
2206
  }
2206
- function U(h) {
2207
+ function Z(h) {
2207
2208
  return h.a + h.f;
2208
2209
  }
2209
2210
  function R(h) {
@@ -2228,7 +2229,7 @@ var wo = { exports: {} };
2228
2229
  wt(h, "inactive");
2229
2230
  }
2230
2231
  function wt(h, d, _) {
2231
- h.j && h.h[d] && (_ ? h.h[d](_.c, U(_)) : h.h[d]());
2232
+ h.j && h.h[d] && (_ ? h.h[d](_.c, Z(_)) : h.h[d]());
2232
2233
  }
2233
2234
  function mt() {
2234
2235
  this.c = {};
@@ -2274,7 +2275,7 @@ var wo = { exports: {} };
2274
2275
  });
2275
2276
  };
2276
2277
  function H(h, d, _, z, b, G, B) {
2277
- this.v = h, this.B = d, this.c = _, this.a = z, this.s = B || "BESbswy", this.f = {}, this.w = b || 3e3, this.u = G || null, this.m = this.j = this.h = this.g = null, this.g = new ut(this.c, this.s), this.h = new ut(this.c, this.s), this.j = new ut(this.c, this.s), this.m = new ut(this.c, this.s), h = new k(this.a.c + ",serif", U(this.a)), h = W(h), this.g.a.style.cssText = h, h = new k(this.a.c + ",sans-serif", U(this.a)), h = W(h), this.h.a.style.cssText = h, h = new k("serif", U(this.a)), h = W(h), this.j.a.style.cssText = h, h = new k("sans-serif", U(this.a)), h = W(h), this.m.a.style.cssText = h, Ot(this.g), Ot(this.h), Ot(this.j), Ot(this.m);
2278
+ this.v = h, this.B = d, this.c = _, this.a = z, this.s = B || "BESbswy", this.f = {}, this.w = b || 3e3, this.u = G || null, this.m = this.j = this.h = this.g = null, this.g = new ut(this.c, this.s), this.h = new ut(this.c, this.s), this.j = new ut(this.c, this.s), this.m = new ut(this.c, this.s), h = new k(this.a.c + ",serif", Z(this.a)), h = W(h), this.g.a.style.cssText = h, h = new k(this.a.c + ",sans-serif", Z(this.a)), h = W(h), this.h.a.style.cssText = h, h = new k("serif", Z(this.a)), h = W(h), this.j.a.style.cssText = h, h = new k("sans-serif", Z(this.a)), h = W(h), this.m.a.style.cssText = h, Ot(this.g), Ot(this.h), Ot(this.j), Ot(this.m);
2278
2279
  }
2279
2280
  var at = { D: "serif", C: "sans-serif" }, ct = null;
2280
2281
  function Lt() {
@@ -2313,12 +2314,12 @@ var wo = { exports: {} };
2313
2314
  var ui = null;
2314
2315
  Et.prototype.g = function(h) {
2315
2316
  var d = this.a;
2316
- d.g && f(d.f, [d.a.c("wf", h.c, U(h).toString(), "active")], [d.a.c("wf", h.c, U(h).toString(), "loading"), d.a.c("wf", h.c, U(h).toString(), "inactive")]), wt(d, "fontactive", h), this.m = !0, di(this);
2317
+ d.g && f(d.f, [d.a.c("wf", h.c, Z(h).toString(), "active")], [d.a.c("wf", h.c, Z(h).toString(), "loading"), d.a.c("wf", h.c, Z(h).toString(), "inactive")]), wt(d, "fontactive", h), this.m = !0, di(this);
2317
2318
  }, Et.prototype.h = function(h) {
2318
2319
  var d = this.a;
2319
2320
  if (d.g) {
2320
- var _ = T(d.f, d.a.c("wf", h.c, U(h).toString(), "active")), z = [], b = [d.a.c("wf", h.c, U(h).toString(), "loading")];
2321
- _ || z.push(d.a.c("wf", h.c, U(h).toString(), "inactive")), f(d.f, z, b);
2321
+ var _ = T(d.f, d.a.c("wf", h.c, Z(h).toString(), "active")), z = [], b = [d.a.c("wf", h.c, Z(h).toString(), "loading")];
2322
+ _ || z.push(d.a.c("wf", h.c, Z(h).toString(), "inactive")), f(d.f, z, b);
2322
2323
  }
2323
2324
  wt(d, "fontinactive", h), di(this);
2324
2325
  };
@@ -2342,7 +2343,7 @@ var wo = { exports: {} };
2342
2343
  var ot, gt = [];
2343
2344
  for (ot = 0; ot < _.length; ot++) {
2344
2345
  var lt = _[ot], Tt = st[lt.c], St = d.a, ei = lt;
2345
- if (St.g && f(St.f, [St.a.c("wf", ei.c, U(ei).toString(), "loading")]), wt(St, "fontloading", ei), St = null, ui === null)
2346
+ if (St.g && f(St.f, [St.a.c("wf", ei.c, Z(ei).toString(), "loading")]), wt(St, "fontloading", ei), St = null, ui === null)
2346
2347
  if (window.FontFace) {
2347
2348
  var ei = /Gecko.*Firefox\/(\d+)/.exec(window.navigator.userAgent), sn = /OS X.*Version\/10\..*Safari/.exec(window.navigator.userAgent) && /Apple/.exec(window.navigator.vendor);
2348
2349
  ui = ei ? 42 < parseInt(ei[1], 10) : !sn;
@@ -2513,26 +2514,26 @@ var wo = { exports: {} };
2513
2514
  b && h([]);
2514
2515
  })) : h([]);
2515
2516
  };
2516
- var Ut = new Ni(window);
2517
- Ut.a.c.custom = function(h, d) {
2517
+ var Zt = new Ni(window);
2518
+ Zt.a.c.custom = function(h, d) {
2518
2519
  return new Pi(d, h);
2519
- }, Ut.a.c.fontdeck = function(h, d) {
2520
+ }, Zt.a.c.fontdeck = function(h, d) {
2520
2521
  return new de(d, h);
2521
- }, Ut.a.c.monotype = function(h, d) {
2522
+ }, Zt.a.c.monotype = function(h, d) {
2522
2523
  return new ce(d, h);
2523
- }, Ut.a.c.typekit = function(h, d) {
2524
+ }, Zt.a.c.typekit = function(h, d) {
2524
2525
  return new Ri(d, h);
2525
- }, Ut.a.c.google = function(h, d) {
2526
+ }, Zt.a.c.google = function(h, d) {
2526
2527
  return new fi(d, h);
2527
2528
  };
2528
- var Wi = { load: r(Ut.load, Ut) };
2529
- a.exports ? a.exports = Wi : (window.WebFont = Wi, window.WebFontConfig && Ut.load(window.WebFontConfig));
2529
+ var Wi = { load: r(Zt.load, Zt) };
2530
+ a.exports ? a.exports = Wi : (window.WebFont = Wi, window.WebFontConfig && Zt.load(window.WebFontConfig));
2530
2531
  })();
2531
2532
  })(wo);
2532
2533
  var na = wo.exports;
2533
2534
  const sa = /* @__PURE__ */ Bn(na), xt = class xt {
2534
2535
  constructor(e, s, r, u) {
2535
- this._urls = e, this._additionalUrls = s, this._layers = ["all"], this._tileLoader = new kn(u), this._renderer = new Zn(r), xt._fonts || sa.load({
2536
+ this._urls = e, this._additionalUrls = s, this._layers = ["all"], this._tileLoader = new kn(u), this._renderer = new Un(r), xt._fonts || sa.load({
2536
2537
  custom: {
2537
2538
  families: ["Open Sans:n4,n7,i4,i7"],
2538
2539
  urls: ["https://maps.infoware.de/MapAPI-1.4/css/opensans.css"]
@@ -3776,7 +3777,7 @@ class HM {
3776
3777
  releaseTile() {
3777
3778
  }
3778
3779
  }
3779
- var Un = { exports: {} };
3780
+ var Zn = { exports: {} };
3780
3781
  /* @preserve
3781
3782
  * Leaflet 1.9.4, a JS library for interactive maps. https://leafletjs.com
3782
3783
  * (c) 2010-2023 Vladimir Agafonkin, (c) 2010-2011 CloudMade
@@ -3876,10 +3877,10 @@ var Un = { exports: {} };
3876
3877
  function Q(t) {
3877
3878
  return window["webkit" + t] || window["moz" + t] || window["ms" + t];
3878
3879
  }
3879
- var U = 0;
3880
+ var Z = 0;
3880
3881
  function R(t) {
3881
- var i = +/* @__PURE__ */ new Date(), n = Math.max(0, 16 - (i - U));
3882
- return U = i + n, window.setTimeout(t, n);
3882
+ var i = +/* @__PURE__ */ new Date(), n = Math.max(0, 16 - (i - Z));
3883
+ return Z = i + n, window.setTimeout(t, n);
3883
3884
  }
3884
3885
  var et = window.requestAnimationFrame || Q("RequestAnimationFrame") || R, Dt = window.cancelAnimationFrame || Q("CancelAnimationFrame") || Q("CancelRequestAnimationFrame") || function(t) {
3885
3886
  window.clearTimeout(t);
@@ -4680,7 +4681,7 @@ var Un = { exports: {} };
4680
4681
  }
4681
4682
  return n || "M0 0";
4682
4683
  }
4683
- var Bi = document.documentElement.style, Ai = "ActiveXObject" in window, tn = Ai && !document.addEventListener, Le = "msLaunchUri" in navigator && !("documentMode" in document), yi = Wt("webkit"), Ie = Wt("android"), we = Wt("android 2") || Wt("android 3"), en = parseInt(/WebKit\/([0-9]+)|$/.exec(navigator.userAgent)[1], 10), nn = Ie && Wt("Google") && en < 537 && !("AudioNode" in window), fi = !!window.opera, Ce = !Le && Wt("chrome"), Ri = Wt("gecko") && !yi && !fi && !Ai, de = !Ce && Wt("safari"), Ut = Wt("phantom"), Wi = "OTransition" in Bi, h = navigator.platform.indexOf("Win") === 0, d = Ai && "transition" in Bi, _ = "WebKitCSSMatrix" in window && "m11" in new window.WebKitCSSMatrix() && !we, z = "MozPerspective" in Bi, b = !window.L_DISABLE_3D && (d || _ || z) && !Wi && !Ut, G = typeof orientation < "u" || Wt("mobile"), B = G && yi, st = G && _, ot = !window.PointerEvent && window.MSPointerEvent, gt = !!(window.PointerEvent || ot), lt = "ontouchstart" in window || !!window.TouchEvent, Tt = !window.L_NO_TOUCH && (lt || gt), St = G && fi, ei = G && Ri, sn = (window.devicePixelRatio || window.screen.deviceXDPI / window.screen.logicalXDPI) > 1, bo = function() {
4684
+ var Bi = document.documentElement.style, Ai = "ActiveXObject" in window, tn = Ai && !document.addEventListener, Le = "msLaunchUri" in navigator && !("documentMode" in document), yi = Wt("webkit"), Ie = Wt("android"), we = Wt("android 2") || Wt("android 3"), en = parseInt(/WebKit\/([0-9]+)|$/.exec(navigator.userAgent)[1], 10), nn = Ie && Wt("Google") && en < 537 && !("AudioNode" in window), fi = !!window.opera, Ce = !Le && Wt("chrome"), Ri = Wt("gecko") && !yi && !fi && !Ai, de = !Ce && Wt("safari"), Zt = Wt("phantom"), Wi = "OTransition" in Bi, h = navigator.platform.indexOf("Win") === 0, d = Ai && "transition" in Bi, _ = "WebKitCSSMatrix" in window && "m11" in new window.WebKitCSSMatrix() && !we, z = "MozPerspective" in Bi, b = !window.L_DISABLE_3D && (d || _ || z) && !Wi && !Zt, G = typeof orientation < "u" || Wt("mobile"), B = G && yi, st = G && _, ot = !window.PointerEvent && window.MSPointerEvent, gt = !!(window.PointerEvent || ot), lt = "ontouchstart" in window || !!window.TouchEvent, Tt = !window.L_NO_TOUCH && (lt || gt), St = G && fi, ei = G && Ri, sn = (window.devicePixelRatio || window.screen.deviceXDPI / window.screen.logicalXDPI) > 1, bo = function() {
4684
4685
  var t = !1;
4685
4686
  try {
4686
4687
  var i = Object.defineProperty({}, "passive", {
@@ -4697,7 +4698,7 @@ var Un = { exports: {} };
4697
4698
  }(), on = !!(document.createElementNS && Pi("svg").createSVGRect), ko = !!on && function() {
4698
4699
  var t = document.createElement("div");
4699
4700
  return t.innerHTML = "<svg/>", (t.firstChild && t.firstChild.namespaceURI) === "http://www.w3.org/2000/svg";
4700
- }(), Zo = !on && function() {
4701
+ }(), Uo = !on && function() {
4701
4702
  try {
4702
4703
  var t = document.createElement("div");
4703
4704
  t.innerHTML = '<v:shape adj="1"/>';
@@ -4706,7 +4707,7 @@ var Un = { exports: {} };
4706
4707
  } catch {
4707
4708
  return !1;
4708
4709
  }
4709
- }(), Uo = navigator.platform.indexOf("Mac") === 0, Go = navigator.platform.indexOf("Linux") === 0;
4710
+ }(), Zo = navigator.platform.indexOf("Mac") === 0, Go = navigator.platform.indexOf("Linux") === 0;
4710
4711
  function Wt(t) {
4711
4712
  return navigator.userAgent.toLowerCase().indexOf(t) >= 0;
4712
4713
  }
@@ -4722,7 +4723,7 @@ var Un = { exports: {} };
4722
4723
  chrome: Ce,
4723
4724
  gecko: Ri,
4724
4725
  safari: de,
4725
- phantom: Ut,
4726
+ phantom: Zt,
4726
4727
  opera12: Wi,
4727
4728
  win: h,
4728
4729
  ie3d: d,
@@ -4742,9 +4743,9 @@ var Un = { exports: {} };
4742
4743
  passiveEvents: bo,
4743
4744
  canvas: Yo,
4744
4745
  svg: on,
4745
- vml: Zo,
4746
+ vml: Uo,
4746
4747
  inlineSvg: ko,
4747
- mac: Uo,
4748
+ mac: Zo,
4748
4749
  linux: Go
4749
4750
  }, es = P.msPointer ? "MSPointerDown" : "pointerdown", ns = P.msPointer ? "MSPointerMove" : "pointermove", ss = P.msPointer ? "MSPointerUp" : "pointerup", os = P.msPointer ? "MSPointerCancel" : "pointercancel", rn = {
4750
4751
  touchstart: es,
@@ -5352,7 +5353,7 @@ var Un = { exports: {} };
5352
5353
  this._stop();
5353
5354
  var o = this.project(this.getCenter()), M = this.project(t), l = this.getSize(), C = this._zoom;
5354
5355
  t = V(t), i = i === void 0 ? C : i;
5355
- var y = Math.max(l.x, l.y), D = y * this.getZoomScale(C, i), p = M.distanceTo(o) || 1, Z = 1.42, F = Z * Z;
5356
+ var y = Math.max(l.x, l.y), D = y * this.getZoomScale(C, i), p = M.distanceTo(o) || 1, U = 1.42, F = U * U;
5356
5357
  function q(At) {
5357
5358
  var Ye = At ? -1 : 1, Pr = At ? D : y, Br = D * D - y * y + Ye * F * F * p * p, Rr = 2 * Pr * F * p, On = Br / Rr, Vs = Math.sqrt(On * On + 1) - On, Wr = Vs < 1e-9 ? -18 : Math.log(Vs);
5358
5359
  return Wr;
@@ -5368,19 +5369,19 @@ var Un = { exports: {} };
5368
5369
  }
5369
5370
  var vt = q(0);
5370
5371
  function Oi(At) {
5371
- return y * (jt(vt) / jt(vt + Z * At));
5372
- }
5373
- function Zr(At) {
5374
- return y * (jt(vt) * kt(vt + Z * At) - pt(vt)) / F;
5372
+ return y * (jt(vt) / jt(vt + U * At));
5375
5373
  }
5376
5374
  function Ur(At) {
5375
+ return y * (jt(vt) * kt(vt + U * At) - pt(vt)) / F;
5376
+ }
5377
+ function Zr(At) {
5377
5378
  return 1 - Math.pow(1 - At, 1.5);
5378
5379
  }
5379
- var Gr = Date.now(), Xs = (q(1) - vt) / Z, Qr = n.duration ? 1e3 * n.duration : 1e3 * Xs * 0.8;
5380
+ var Gr = Date.now(), Xs = (q(1) - vt) / U, Qr = n.duration ? 1e3 * n.duration : 1e3 * Xs * 0.8;
5380
5381
  function Js() {
5381
- var At = (Date.now() - Gr) / Qr, Ye = Ur(At) * Xs;
5382
+ var At = (Date.now() - Gr) / Qr, Ye = Zr(At) * Xs;
5382
5383
  At <= 1 ? (this._flyToFrame = tt(Js, this), this._move(
5383
- this.unproject(o.add(M.subtract(o).multiplyBy(Zr(Ye) / p)), C),
5384
+ this.unproject(o.add(M.subtract(o).multiplyBy(Ur(Ye) / p)), C),
5384
5385
  this.getScaleZoom(y / Oi(Ye), C),
5385
5386
  { flyTo: !0 }
5386
5387
  )) : this._move(t, i)._moveEnd(!0);
@@ -5428,8 +5429,8 @@ var Un = { exports: {} };
5428
5429
  var n = H(i.paddingTopLeft || i.padding || [0, 0]), o = H(i.paddingBottomRight || i.padding || [0, 0]), M = this.project(this.getCenter()), l = this.project(t), C = this.getPixelBounds(), y = ct([C.min.add(n), C.max.subtract(o)]), D = y.getSize();
5429
5430
  if (!y.contains(l)) {
5430
5431
  this._enforcingBounds = !0;
5431
- var p = l.subtract(y.getCenter()), Z = y.extend(l).getSize().subtract(D);
5432
- M.x += p.x < 0 ? -Z.x : Z.x, M.y += p.y < 0 ? -Z.y : Z.y, this.panTo(this.unproject(M), i), this._enforcingBounds = !1;
5432
+ var p = l.subtract(y.getCenter()), U = y.extend(l).getSize().subtract(D);
5433
+ M.x += p.x < 0 ? -U.x : U.x, M.y += p.y < 0 ? -U.y : U.y, this.panTo(this.unproject(M), i), this._enforcingBounds = !1;
5433
5434
  }
5434
5435
  return this;
5435
5436
  },
@@ -5595,8 +5596,8 @@ var Un = { exports: {} };
5595
5596
  // the given bounds in its entirety.
5596
5597
  getBoundsZoom: function(t, i, n) {
5597
5598
  t = nt(t), n = H(n || [0, 0]);
5598
- var o = this.getZoom() || 0, M = this.getMinZoom(), l = this.getMaxZoom(), C = t.getNorthWest(), y = t.getSouthEast(), D = this.getSize().subtract(n), p = ct(this.project(y, o), this.project(C, o)).getSize(), Z = P.any3d ? this.options.zoomSnap : 1, F = D.x / p.x, q = D.y / p.y, pt = i ? Math.max(F, q) : Math.min(F, q);
5599
- return o = this.getScaleZoom(pt, o), Z && (o = Math.round(o / (Z / 100)) * (Z / 100), o = i ? Math.ceil(o / Z) * Z : Math.floor(o / Z) * Z), Math.max(M, Math.min(l, o));
5599
+ var o = this.getZoom() || 0, M = this.getMinZoom(), l = this.getMaxZoom(), C = t.getNorthWest(), y = t.getSouthEast(), D = this.getSize().subtract(n), p = ct(this.project(y, o), this.project(C, o)).getSize(), U = P.any3d ? this.options.zoomSnap : 1, F = D.x / p.x, q = D.y / p.y, pt = i ? Math.max(F, q) : Math.min(F, q);
5600
+ return o = this.getScaleZoom(pt, o), U && (o = Math.round(o / (U / 100)) * (U / 100), o = i ? Math.ceil(o / U) * U : Math.floor(o / U) * U), Math.max(M, Math.min(l, o));
5600
5601
  },
5601
5602
  // @method getSize(): Point
5602
5603
  // Returns the current size of the map container (in pixels).
@@ -6541,18 +6542,18 @@ var Un = { exports: {} };
6541
6542
  }
6542
6543
  });
6543
6544
  function As(t, i, n) {
6544
- var o, M = [1, 4, 2, 8], l, C, y, D, p, Z, F, q;
6545
- for (l = 0, Z = t.length; l < Z; l++)
6545
+ var o, M = [1, 4, 2, 8], l, C, y, D, p, U, F, q;
6546
+ for (l = 0, U = t.length; l < U; l++)
6546
6547
  t[l]._code = Ii(t[l], i);
6547
6548
  for (y = 0; y < 4; y++) {
6548
- for (F = M[y], o = [], l = 0, Z = t.length, C = Z - 1; l < Z; C = l++)
6549
+ for (F = M[y], o = [], l = 0, U = t.length, C = U - 1; l < U; C = l++)
6549
6550
  D = t[l], p = t[C], D._code & F ? p._code & F || (q = me(p, D, F, i, n), q._code = Ii(q, i), o.push(q)) : (p._code & F && (q = me(p, D, F, i, n), q._code = Ii(q, i), o.push(q)), o.push(D));
6550
6551
  t = o;
6551
6552
  }
6552
6553
  return t;
6553
6554
  }
6554
6555
  function ys(t, i) {
6555
- var n, o, M, l, C, y, D, p, Z;
6556
+ var n, o, M, l, C, y, D, p, U;
6556
6557
  if (!t || t.length === 0)
6557
6558
  throw new Error("latlngs not passed");
6558
6559
  Yt(t) || (console.warn("latlngs are not flat! Only the first ring will be used"), t = t[0]);
@@ -6565,8 +6566,8 @@ var Un = { exports: {} };
6565
6566
  }
6566
6567
  for (y = D = p = 0, n = 0, o = jt - 1; n < jt; o = n++)
6567
6568
  M = kt[n], l = kt[o], C = M.y * l.x - l.y * M.x, D += (M.x + l.x) * C, p += (M.y + l.y) * C, y += C * 3;
6568
- y === 0 ? Z = kt[0] : Z = [D / y, p / y];
6569
- var Oi = i.unproject(H(Z));
6569
+ y === 0 ? U = kt[0] : U = [D / y, p / y];
6570
+ var Oi = i.unproject(H(U));
6570
6571
  return V([Oi.lat + F.lat, Oi.lng + F.lng]);
6571
6572
  }
6572
6573
  function Dn(t) {
@@ -6625,8 +6626,8 @@ var Un = { exports: {} };
6625
6626
  }
6626
6627
  }
6627
6628
  function me(t, i, n, o, M) {
6628
- var l = i.x - t.x, C = i.y - t.y, y = o.min, D = o.max, p, Z;
6629
- return n & 8 ? (p = t.x + l * (D.y - t.y) / C, Z = D.y) : n & 4 ? (p = t.x + l * (y.y - t.y) / C, Z = y.y) : n & 2 ? (p = D.x, Z = t.y + C * (D.x - t.x) / l) : n & 1 && (p = y.x, Z = t.y + C * (y.x - t.x) / l), new W(p, Z, M);
6629
+ var l = i.x - t.x, C = i.y - t.y, y = o.min, D = o.max, p, U;
6630
+ return n & 8 ? (p = t.x + l * (D.y - t.y) / C, U = D.y) : n & 4 ? (p = t.x + l * (y.y - t.y) / C, U = y.y) : n & 2 ? (p = D.x, U = t.y + C * (D.x - t.x) / l) : n & 1 && (p = y.x, U = t.y + C * (y.x - t.x) / l), new W(p, U, M);
6630
6631
  }
6631
6632
  function Ii(t, i) {
6632
6633
  var n = 0;
@@ -6651,12 +6652,12 @@ var Un = { exports: {} };
6651
6652
  if (!t || t.length === 0)
6652
6653
  throw new Error("latlngs not passed");
6653
6654
  Yt(t) || (console.warn("latlngs are not flat! Only the first ring will be used"), t = t[0]);
6654
- var Z = V([0, 0]), F = nt(t), q = F.getNorthWest().distanceTo(F.getSouthWest()) * F.getNorthEast().distanceTo(F.getNorthWest());
6655
- q < 1700 && (Z = Dn(t));
6655
+ var U = V([0, 0]), F = nt(t), q = F.getNorthWest().distanceTo(F.getSouthWest()) * F.getNorthEast().distanceTo(F.getNorthWest());
6656
+ q < 1700 && (U = Dn(t));
6656
6657
  var pt = t.length, jt = [];
6657
6658
  for (n = 0; n < pt; n++) {
6658
6659
  var kt = V(t[n]);
6659
- jt.push(i.project(V([kt.lat - Z.lat, kt.lng - Z.lng])));
6660
+ jt.push(i.project(V([kt.lat - U.lat, kt.lng - U.lng])));
6660
6661
  }
6661
6662
  for (n = 0, o = 0; n < pt - 1; n++)
6662
6663
  o += jt[n].distanceTo(jt[n + 1]) / 2;
@@ -6672,7 +6673,7 @@ var Un = { exports: {} };
6672
6673
  break;
6673
6674
  }
6674
6675
  var vt = i.unproject(H(p));
6675
- return V([vt.lat + Z.lat, vt.lng + Z.lng]);
6676
+ return V([vt.lat + U.lat, vt.lng + U.lng]);
6676
6677
  }
6677
6678
  var hr = {
6678
6679
  __proto__: null,
@@ -7509,8 +7510,8 @@ var Un = { exports: {} };
7509
7510
  _project: function() {
7510
7511
  var t = this._latlng.lng, i = this._latlng.lat, n = this._map, o = n.options.crs;
7511
7512
  if (o.distance === Et.distance) {
7512
- var M = Math.PI / 180, l = this._mRadius / Et.R / M, C = n.project([i + l, t]), y = n.project([i - l, t]), D = C.add(y).divideBy(2), p = n.unproject(D).lat, Z = Math.acos((Math.cos(l * M) - Math.sin(i * M) * Math.sin(p * M)) / (Math.cos(i * M) * Math.cos(p * M))) / M;
7513
- (isNaN(Z) || Z === 0) && (Z = l / Math.cos(Math.PI / 180 * i)), this._point = D.subtract(n.getPixelOrigin()), this._radius = isNaN(Z) ? 0 : D.x - n.project([p, t - Z]).x, this._radiusY = D.y - C.y;
7513
+ var M = Math.PI / 180, l = this._mRadius / Et.R / M, C = n.project([i + l, t]), y = n.project([i - l, t]), D = C.add(y).divideBy(2), p = n.unproject(D).lat, U = Math.acos((Math.cos(l * M) - Math.sin(i * M) * Math.sin(p * M)) / (Math.cos(i * M) * Math.cos(p * M))) / M;
7514
+ (isNaN(U) || U === 0) && (U = l / Math.cos(Math.PI / 180 * i)), this._point = D.subtract(n.getPixelOrigin()), this._radius = isNaN(U) ? 0 : D.x - n.project([p, t - U]).x, this._radiusY = D.y - C.y;
7514
7515
  } else {
7515
7516
  var F = o.unproject(o.project(this._latlng).subtract([this._mRadius, 0]));
7516
7517
  this._point = n.latLngToLayerPoint(this._latlng), this._radius = this._point.x - n.latLngToLayerPoint(F).x;
@@ -7555,7 +7556,7 @@ var Un = { exports: {} };
7555
7556
  // Returns the point closest to `p` on the Polyline.
7556
7557
  closestLayerPoint: function(t) {
7557
7558
  for (var i = 1 / 0, n = null, o = $i, M, l, C = 0, y = this._parts.length; C < y; C++)
7558
- for (var D = this._parts[C], p = 1, Z = D.length; p < Z; p++) {
7559
+ for (var D = this._parts[C], p = 1, U = D.length; p < U; p++) {
7559
7560
  M = D[p - 1], l = D[p];
7560
7561
  var F = o(t, M, l, !0);
7561
7562
  F < i && (i = F, n = o(t, M, l));
@@ -7794,14 +7795,14 @@ var Un = { exports: {} };
7794
7795
  }
7795
7796
  });
7796
7797
  function _e(t, i) {
7797
- var n = t.type === "Feature" ? t.geometry : t, o = n ? n.coordinates : null, M = [], l = i && i.pointToLayer, C = i && i.coordsToLatLng || _n, y, D, p, Z;
7798
+ var n = t.type === "Feature" ? t.geometry : t, o = n ? n.coordinates : null, M = [], l = i && i.pointToLayer, C = i && i.coordsToLatLng || _n, y, D, p, U;
7798
7799
  if (!o && !n)
7799
7800
  return null;
7800
7801
  switch (n.type) {
7801
7802
  case "Point":
7802
7803
  return y = C(o), xs(l, t, y, i);
7803
7804
  case "MultiPoint":
7804
- for (p = 0, Z = o.length; p < Z; p++)
7805
+ for (p = 0, U = o.length; p < U; p++)
7805
7806
  y = C(o[p]), M.push(xs(l, t, y, i));
7806
7807
  return new Vt(M);
7807
7808
  case "LineString":
@@ -7811,7 +7812,7 @@ var Un = { exports: {} };
7811
7812
  case "MultiPolygon":
7812
7813
  return D = pe(o, n.type === "Polygon" ? 1 : 2, C), new _i(D, i);
7813
7814
  case "GeometryCollection":
7814
- for (p = 0, Z = n.geometries.length; p < Z; p++) {
7815
+ for (p = 0, U = n.geometries.length; p < U; p++) {
7815
7816
  var F = _e({
7816
7817
  geometry: n.geometries[p],
7817
7818
  type: "Feature",
@@ -7821,7 +7822,7 @@ var Un = { exports: {} };
7821
7822
  }
7822
7823
  return new Vt(M);
7823
7824
  case "FeatureCollection":
7824
- for (p = 0, Z = n.features.length; p < Z; p++) {
7825
+ for (p = 0, U = n.features.length; p < U; p++) {
7825
7826
  var q = _e(n.features[p], i);
7826
7827
  q && M.push(q);
7827
7828
  }
@@ -8379,8 +8380,8 @@ var Un = { exports: {} };
8379
8380
  }
8380
8381
  var t = this._map, i = parseInt(Fi(this._container, "marginBottom"), 10) || 0, n = this._container.offsetHeight + i, o = this._containerWidth, M = new W(this._containerLeft, -n - this._containerBottom);
8381
8382
  M._add(ci(this._container));
8382
- var l = t.layerPointToContainerPoint(M), C = H(this.options.autoPanPadding), y = H(this.options.autoPanPaddingTopLeft || C), D = H(this.options.autoPanPaddingBottomRight || C), p = t.getSize(), Z = 0, F = 0;
8383
- l.x + o + D.x > p.x && (Z = l.x + o - p.x + D.x), l.x - Z - y.x < 0 && (Z = l.x - y.x), l.y + n + D.y > p.y && (F = l.y + n - p.y + D.y), l.y - F - y.y < 0 && (F = l.y - y.y), (Z || F) && (this.options.keepInView && (this._autopanning = !0), t.fire("autopanstart").panBy([Z, F]));
8383
+ var l = t.layerPointToContainerPoint(M), C = H(this.options.autoPanPadding), y = H(this.options.autoPanPaddingTopLeft || C), D = H(this.options.autoPanPaddingBottomRight || C), p = t.getSize(), U = 0, F = 0;
8384
+ l.x + o + D.x > p.x && (U = l.x + o - p.x + D.x), l.x - U - y.x < 0 && (U = l.x - y.x), l.y + n + D.y > p.y && (F = l.y + n - p.y + D.y), l.y - F - y.y < 0 && (F = l.y - y.y), (U || F) && (this.options.keepInView && (this._autopanning = !0), t.fire("autopanstart").panBy([U, F]));
8384
8385
  }
8385
8386
  },
8386
8387
  _getAnchor: function() {
@@ -8521,8 +8522,8 @@ var Un = { exports: {} };
8521
8522
  _adjustPan: function() {
8522
8523
  },
8523
8524
  _setPosition: function(t) {
8524
- var i, n, o = this._map, M = this._container, l = o.latLngToContainerPoint(o.getCenter()), C = o.layerPointToContainerPoint(t), y = this.options.direction, D = M.offsetWidth, p = M.offsetHeight, Z = H(this.options.offset), F = this._getAnchor();
8525
- y === "top" ? (i = D / 2, n = p) : y === "bottom" ? (i = D / 2, n = 0) : y === "center" ? (i = D / 2, n = p / 2) : y === "right" ? (i = 0, n = p / 2) : y === "left" ? (i = D, n = p / 2) : C.x < l.x ? (y = "right", i = 0, n = p / 2) : (y = "left", i = D + (Z.x + F.x) * 2, n = p / 2), t = t.subtract(H(i, n, !0)).add(Z).add(F), dt(M, "leaflet-tooltip-right"), dt(M, "leaflet-tooltip-left"), dt(M, "leaflet-tooltip-top"), dt(M, "leaflet-tooltip-bottom"), J(M, "leaflet-tooltip-" + y), Nt(M, t);
8525
+ var i, n, o = this._map, M = this._container, l = o.latLngToContainerPoint(o.getCenter()), C = o.layerPointToContainerPoint(t), y = this.options.direction, D = M.offsetWidth, p = M.offsetHeight, U = H(this.options.offset), F = this._getAnchor();
8526
+ y === "top" ? (i = D / 2, n = p) : y === "bottom" ? (i = D / 2, n = 0) : y === "center" ? (i = D / 2, n = p / 2) : y === "right" ? (i = 0, n = p / 2) : y === "left" ? (i = D, n = p / 2) : C.x < l.x ? (y = "right", i = 0, n = p / 2) : (y = "left", i = D + (U.x + F.x) * 2, n = p / 2), t = t.subtract(H(i, n, !0)).add(U).add(F), dt(M, "leaflet-tooltip-right"), dt(M, "leaflet-tooltip-left"), dt(M, "leaflet-tooltip-top"), dt(M, "leaflet-tooltip-bottom"), J(M, "leaflet-tooltip-" + y), Nt(M, t);
8526
8527
  },
8527
8528
  _updatePosition: function() {
8528
8529
  var t = this._map.latLngToLayerPoint(this._latlng);
@@ -8954,8 +8955,8 @@ var Un = { exports: {} };
8954
8955
  if (!(isFinite(M.min.x) && isFinite(M.min.y) && isFinite(M.max.x) && isFinite(M.max.y)))
8955
8956
  throw new Error("Attempted to load an infinite number of tiles");
8956
8957
  for (var p in this._tiles) {
8957
- var Z = this._tiles[p].coords;
8958
- (Z.z !== this._tileZoom || !D.contains(new W(Z.x, Z.y))) && (this._tiles[p].current = !1);
8958
+ var U = this._tiles[p].coords;
8959
+ (U.z !== this._tileZoom || !D.contains(new W(U.x, U.y))) && (this._tiles[p].current = !1);
8959
8960
  }
8960
8961
  if (Math.abs(n - this._tileZoom) > 1) {
8961
8962
  this._setView(t, n);
@@ -9499,7 +9500,7 @@ var Un = { exports: {} };
9499
9500
  }
9500
9501
  }
9501
9502
  });
9502
- function Zs(t) {
9503
+ function Us(t) {
9503
9504
  return P.canvas ? new ks(t) : null;
9504
9505
  }
9505
9506
  var ee = function() {
@@ -9599,7 +9600,7 @@ var Un = { exports: {} };
9599
9600
  }
9600
9601
  });
9601
9602
  P.vml && ne.include(Er);
9602
- function Us(t) {
9603
+ function Zs(t) {
9603
9604
  return P.svg || P.vml ? new ne(t) : null;
9604
9605
  }
9605
9606
  it.include({
@@ -9618,7 +9619,7 @@ var Un = { exports: {} };
9618
9619
  return i === void 0 && (i = this._createRenderer({ pane: t }), this._paneRenderers[t] = i), i;
9619
9620
  },
9620
9621
  _createRenderer: function(t) {
9621
- return this.options.preferCanvas && Zs(t) || Us(t);
9622
+ return this.options.preferCanvas && Us(t) || Zs(t);
9622
9623
  }
9623
9624
  });
9624
9625
  var Gs = _i.extend({
@@ -9829,7 +9830,7 @@ var Un = { exports: {} };
9829
9830
  i.fire("moveend");
9830
9831
  else {
9831
9832
  this._prunePositions(+/* @__PURE__ */ new Date());
9832
- var M = this._lastPos.subtract(this._positions[0]), l = (this._lastTime - this._times[0]) / 1e3, C = n.easeLinearity, y = M.multiplyBy(C / l), D = y.distanceTo([0, 0]), p = Math.min(n.inertiaMaxSpeed, D), Z = y.multiplyBy(p / D), F = p / (n.inertiaDeceleration * C), q = Z.multiplyBy(-F / 2).round();
9833
+ var M = this._lastPos.subtract(this._positions[0]), l = (this._lastTime - this._times[0]) / 1e3, C = n.easeLinearity, y = M.multiplyBy(C / l), D = y.distanceTo([0, 0]), p = Math.min(n.inertiaMaxSpeed, D), U = y.multiplyBy(p / D), F = p / (n.inertiaDeceleration * C), q = U.multiplyBy(-F / 2).round();
9833
9834
  !q.x && !q.y ? i.fire("moveend") : (q = i._limitOffset(q, i.options.maxBounds), tt(function() {
9834
9835
  i.panBy(q, {
9835
9836
  duration: F,
@@ -10083,14 +10084,14 @@ var Un = { exports: {} };
10083
10084
  this._zooming = !1, ht(this._animRequest), Mt(document, "touchmove", this._onTouchMove, this), Mt(document, "touchend touchcancel", this._onTouchEnd, this), this._map.options.zoomAnimation ? this._map._animateZoom(this._center, this._map._limitZoom(this._zoom), !0, this._map.options.zoomSnap) : this._map._resetView(this._center, this._map._limitZoom(this._zoom));
10084
10085
  }
10085
10086
  });
10086
- it.addInitHook("addHandler", "touchZoom", Fs), it.BoxZoom = Qs, it.DoubleClickZoom = Ps, it.Drag = Bs, it.Keyboard = Rs, it.ScrollWheelZoom = Ws, it.TapHold = Hs, it.TouchZoom = Fs, s.Bounds = at, s.Browser = P, s.CRS = Ct, s.Canvas = ks, s.Circle = zn, s.CircleMarker = ze, s.Class = mt, s.Control = Gt, s.DivIcon = Es, s.DivOverlay = Xt, s.DomEvent = tr, s.DomUtil = qo, s.Draggable = ni, s.Evented = Ot, s.FeatureGroup = Vt, s.GeoJSON = qt, s.GridLayer = ie, s.Handler = Ft, s.Icon = zi, s.ImageOverlay = ve, s.LatLng = $, s.LatLngBounds = Lt, s.Layer = Qt, s.LayerGroup = Ti, s.LineUtil = hr, s.Map = it, s.Marker = Te, s.Mixin = ar, s.Path = si, s.Point = W, s.PolyUtil = Mr, s.Polygon = _i, s.Polyline = Kt, s.Popup = Se, s.PosAnimation = ws, s.Projection = Lr, s.Rectangle = Gs, s.Renderer = $t, s.SVG = ne, s.SVGOverlay = Ss, s.TileLayer = xi, s.Tooltip = Ee, s.Transformation = Ni, s.Util = wt, s.VideoOverlay = vs, s.bind = c, s.bounds = ct, s.canvas = Zs, s.circle = fr, s.circleMarker = yr, s.control = qi, s.divIcon = Or, s.extend = u, s.featureGroup = dr, s.geoJSON = Os, s.geoJson = mr, s.gridLayer = vr, s.icon = Nr, s.imageOverlay = Tr, s.latLng = V, s.latLngBounds = nt, s.layerGroup = Cr, s.map = ir, s.marker = Ar, s.point = H, s.polygon = jr, s.polyline = Dr, s.popup = pr, s.rectangle = br, s.setOptions = A, s.stamp = w, s.svg = Us, s.svgOverlay = _r, s.tileLayer = bs, s.tooltip = xr, s.transformation = gi, s.version = r, s.videoOverlay = zr;
10087
+ it.addInitHook("addHandler", "touchZoom", Fs), it.BoxZoom = Qs, it.DoubleClickZoom = Ps, it.Drag = Bs, it.Keyboard = Rs, it.ScrollWheelZoom = Ws, it.TapHold = Hs, it.TouchZoom = Fs, s.Bounds = at, s.Browser = P, s.CRS = Ct, s.Canvas = ks, s.Circle = zn, s.CircleMarker = ze, s.Class = mt, s.Control = Gt, s.DivIcon = Es, s.DivOverlay = Xt, s.DomEvent = tr, s.DomUtil = qo, s.Draggable = ni, s.Evented = Ot, s.FeatureGroup = Vt, s.GeoJSON = qt, s.GridLayer = ie, s.Handler = Ft, s.Icon = zi, s.ImageOverlay = ve, s.LatLng = $, s.LatLngBounds = Lt, s.Layer = Qt, s.LayerGroup = Ti, s.LineUtil = hr, s.Map = it, s.Marker = Te, s.Mixin = ar, s.Path = si, s.Point = W, s.PolyUtil = Mr, s.Polygon = _i, s.Polyline = Kt, s.Popup = Se, s.PosAnimation = ws, s.Projection = Lr, s.Rectangle = Gs, s.Renderer = $t, s.SVG = ne, s.SVGOverlay = Ss, s.TileLayer = xi, s.Tooltip = Ee, s.Transformation = Ni, s.Util = wt, s.VideoOverlay = vs, s.bind = c, s.bounds = ct, s.canvas = Us, s.circle = fr, s.circleMarker = yr, s.control = qi, s.divIcon = Or, s.extend = u, s.featureGroup = dr, s.geoJSON = Os, s.geoJson = mr, s.gridLayer = vr, s.icon = Nr, s.imageOverlay = Tr, s.latLng = V, s.latLngBounds = nt, s.layerGroup = Cr, s.map = ir, s.marker = Ar, s.point = H, s.polygon = jr, s.polyline = Dr, s.popup = pr, s.rectangle = br, s.setOptions = A, s.stamp = w, s.svg = Zs, s.svgOverlay = _r, s.tileLayer = bs, s.tooltip = xr, s.transformation = gi, s.version = r, s.videoOverlay = zr;
10087
10088
  var kr = window.L;
10088
10089
  s.noConflict = function() {
10089
10090
  return window.L = kr, this;
10090
10091
  }, window.L = s;
10091
10092
  });
10092
- })(Un, Un.exports);
10093
- var oa = Un.exports;
10093
+ })(Zn, Zn.exports);
10094
+ var oa = Zn.exports;
10094
10095
  const ra = /* @__PURE__ */ Bn(oa), FM = ra.GridLayer.extend({
10095
10096
  MIN_ZOOM: Be,
10096
10097
  MAX_ZOOM: Re,
@@ -10707,7 +10708,7 @@ function va(a, e) {
10707
10708
  }
10708
10709
  function Gn(a) {
10709
10710
  let e = 0;
10710
- return ba(a) || (e = Zt(a) * oe(a)), e;
10711
+ return ba(a) || (e = Ut(a) * oe(a)), e;
10711
10712
  }
10712
10713
  function Jn(a) {
10713
10714
  return [a[0], a[1]];
@@ -10745,7 +10746,7 @@ function ge(a) {
10745
10746
  function Kn(a) {
10746
10747
  return [a[2], a[3]];
10747
10748
  }
10748
- function Zt(a) {
10749
+ function Ut(a) {
10749
10750
  return a[2] - a[0];
10750
10751
  }
10751
10752
  function qn(a, e) {
@@ -10907,7 +10908,7 @@ class ka {
10907
10908
  return this.getPointResolutionFunc_;
10908
10909
  }
10909
10910
  }
10910
- const Do = ka, le = 6378137, Yi = Math.PI * le, Za = [-Yi, -Yi, Yi, Yi], Ua = [-180, -85, 180, 85], ke = le * Math.log(Math.tan(Math.PI / 2));
10911
+ const Do = ka, le = 6378137, Yi = Math.PI * le, Ua = [-Yi, -Yi, Yi, Yi], Za = [-180, -85, 180, 85], ke = le * Math.log(Math.tan(Math.PI / 2));
10911
10912
  class vi extends Do {
10912
10913
  /**
10913
10914
  * @param {string} code Code.
@@ -10916,9 +10917,9 @@ class vi extends Do {
10916
10917
  super({
10917
10918
  code: e,
10918
10919
  units: "m",
10919
- extent: Za,
10920
+ extent: Ua,
10920
10921
  global: !0,
10921
- worldExtent: Ua,
10922
+ worldExtent: Za,
10922
10923
  getPointResolution: function(s, r) {
10923
10924
  return s / Math.cosh(r[1] / le);
10924
10925
  }
@@ -11033,10 +11034,10 @@ function jo(a, e) {
11033
11034
  const s = Math.pow(10, e);
11034
11035
  return Math.round(a * s) / s;
11035
11036
  }
11036
- function Ze(a, e) {
11037
+ function Ue(a, e) {
11037
11038
  return Math.floor(jo(a, e));
11038
11039
  }
11039
- function Ue(a, e) {
11040
+ function Ze(a, e) {
11040
11041
  return Math.ceil(jo(a, e));
11041
11042
  }
11042
11043
  const Xa = 63710088e-1;
@@ -11176,7 +11177,7 @@ class iM {
11176
11177
  this.transformInv_ = function(x) {
11177
11178
  const O = x[0] + "/" + x[1];
11178
11179
  return I[O] || (I[O] = w(x)), I[O];
11179
- }, this.maxSourceExtent_ = u, this.errorThresholdSquared_ = g * g, this.triangles_ = [], this.wrapsXInSource_ = !1, this.canWrapXInSource_ = this.sourceProj_.canWrapX() && !!u && !!this.sourceProj_.getExtent() && Zt(u) >= Zt(this.sourceProj_.getExtent()), this.sourceWorldWidth_ = this.sourceProj_.getExtent() ? Zt(this.sourceProj_.getExtent()) : null, this.targetWorldWidth_ = this.targetProj_.getExtent() ? Zt(this.targetProj_.getExtent()) : null;
11180
+ }, this.maxSourceExtent_ = u, this.errorThresholdSquared_ = g * g, this.triangles_ = [], this.wrapsXInSource_ = !1, this.canWrapXInSource_ = this.sourceProj_.canWrapX() && !!u && !!this.sourceProj_.getExtent() && Ut(u) >= Ut(this.sourceProj_.getExtent()), this.sourceWorldWidth_ = this.sourceProj_.getExtent() ? Ut(this.sourceProj_.getExtent()) : null, this.targetWorldWidth_ = this.targetProj_.getExtent() ? Ut(this.targetProj_.getExtent()) : null;
11180
11181
  const N = ge(r), f = Kn(r), T = Vn(r), S = Jn(r), E = this.transformInv_(N), Y = this.transformInv_(f), A = this.transformInv_(T), m = this.transformInv_(S), j = tM + (c ? Math.max(
11181
11182
  0,
11182
11183
  Math.ceil(
@@ -11264,7 +11265,7 @@ class iM {
11264
11265
  * @private
11265
11266
  */
11266
11267
  addQuad_(e, s, r, u, g, c, I, w, N) {
11267
- const f = to([g, c, I, w]), T = this.sourceWorldWidth_ ? Zt(f) / this.sourceWorldWidth_ : null, S = (
11268
+ const f = to([g, c, I, w]), T = this.sourceWorldWidth_ ? Ut(f) / this.sourceWorldWidth_ : null, S = (
11268
11269
  /** @type {number} */
11269
11270
  this.sourceWorldWidth_
11270
11271
  ), E = this.sourceProj_.canWrapX() && T > 0.5 && T < 1;
@@ -11272,7 +11273,7 @@ class iM {
11272
11273
  if (N > 0) {
11273
11274
  if (this.targetProj_.isGlobal() && this.targetWorldWidth_) {
11274
11275
  const m = to([e, s, r, u]);
11275
- Y = Zt(m) / this.targetWorldWidth_ > Mo || Y;
11276
+ Y = Ut(m) / this.targetWorldWidth_ > Mo || Y;
11276
11277
  }
11277
11278
  !E && this.sourceProj_.isGlobal() && T && (Y = T > Mo || Y);
11278
11279
  }
@@ -11372,7 +11373,7 @@ class iM {
11372
11373
  }
11373
11374
  const eM = iM;
11374
11375
  let En;
11375
- const Zi = [];
11376
+ const Ui = [];
11376
11377
  function uo(a, e, s, r, u) {
11377
11378
  a.beginPath(), a.moveTo(0, 0), a.lineTo(e, s), a.lineTo(r, u), a.closePath(), a.save(), a.clip(), a.fillRect(0, 0, Math.max(e, r) + 1, Math.max(s, u)), a.restore();
11378
11379
  }
@@ -11381,10 +11382,10 @@ function bn(a, e) {
11381
11382
  }
11382
11383
  function nM() {
11383
11384
  if (En === void 0) {
11384
- const a = We(6, 6, Zi);
11385
+ const a = We(6, 6, Ui);
11385
11386
  a.globalCompositeOperation = "lighter", a.fillStyle = "rgba(210, 0, 0, 0.75)", uo(a, 4, 5, 4, 0), uo(a, 4, 5, 0, 5);
11386
11387
  const e = a.getImageData(0, 0, 3, 3).data;
11387
- En = bn(e, 0) || bn(e, 4) || bn(e, 8), Fn(a), Zi.push(a.canvas);
11388
+ En = bn(e, 0) || bn(e, 4) || bn(e, 8), Fn(a), Ui.push(a.canvas);
11388
11389
  }
11389
11390
  return En;
11390
11391
  }
@@ -11427,7 +11428,7 @@ function oM(a, e, s, r, u, g, c, I, w, N, f, T, S) {
11427
11428
  const E = We(
11428
11429
  Math.round(s * a),
11429
11430
  Math.round(s * e),
11430
- Zi
11431
+ Ui
11431
11432
  );
11432
11433
  if (T || (E.imageSmoothingEnabled = !1), w.length === 0)
11433
11434
  return E.canvas;
@@ -11442,15 +11443,15 @@ function oM(a, e, s, r, u, g, c, I, w, N, f, T, S) {
11442
11443
  });
11443
11444
  let m;
11444
11445
  if (!S || w.length !== 1 || N !== 0) {
11445
- const x = Zt(A), O = oe(A);
11446
+ const x = Ut(A), O = oe(A);
11446
11447
  m = We(
11447
11448
  Math.round(s * x / r),
11448
11449
  Math.round(s * O / r),
11449
- Zi
11450
+ Ui
11450
11451
  ), T || (m.imageSmoothingEnabled = !1);
11451
11452
  const k = s / r;
11452
- w.forEach(function(v, Q, U) {
11453
- const R = v.extent[0] - A[0], et = -(v.extent[3] - A[3]), Dt = Zt(v.extent), tt = oe(v.extent);
11453
+ w.forEach(function(v, Q, Z) {
11454
+ const R = v.extent[0] - A[0], et = -(v.extent[3] - A[3]), Dt = Ut(v.extent), tt = oe(v.extent);
11454
11455
  v.image.width > 0 && v.image.height > 0 && m.drawImage(
11455
11456
  v.image,
11456
11457
  N,
@@ -11467,15 +11468,15 @@ function oM(a, e, s, r, u, g, c, I, w, N, f, T, S) {
11467
11468
  const j = ge(c);
11468
11469
  return I.getTriangles().forEach(function(x, O, k) {
11469
11470
  const v = x.source, Q = x.target;
11470
- let U = v[0][0], R = v[0][1], et = v[1][0], Dt = v[1][1], tt = v[2][0], ht = v[2][1];
11471
+ let Z = v[0][0], R = v[0][1], et = v[1][0], Dt = v[1][1], tt = v[2][0], ht = v[2][1];
11471
11472
  const wt = Y((Q[0][0] - j[0]) / g), mt = Y(
11472
11473
  -(Q[0][1] - j[1]) / g
11473
11474
  ), Rt = Y((Q[1][0] - j[0]) / g), ut = Y(
11474
11475
  -(Q[1][1] - j[1]) / g
11475
11476
  ), Ot = Y((Q[2][0] - j[0]) / g), W = Y(
11476
11477
  -(Q[2][1] - j[1]) / g
11477
- ), Jt = U, H = R;
11478
- U = 0, R = 0, et -= Jt, Dt -= H, tt -= Jt, ht -= H;
11478
+ ), Jt = Z, H = R;
11479
+ Z = 0, R = 0, et -= Jt, Dt -= H, tt -= Jt, ht -= H;
11479
11480
  const at = [
11480
11481
  [et, Dt, 0, 0, Rt - wt],
11481
11482
  [tt, ht, 0, 0, Ot - wt],
@@ -11518,14 +11519,14 @@ function oM(a, e, s, r, u, g, c, I, w, N, f, T, S) {
11518
11519
  else {
11519
11520
  const nt = w[0], $ = nt.extent;
11520
11521
  Lt = nt.image, E.scale(
11521
- Zt($) / Lt.width,
11522
+ Ut($) / Lt.width,
11522
11523
  -oe($) / Lt.height
11523
11524
  );
11524
11525
  }
11525
11526
  E.drawImage(Lt, 0, 0), E.restore();
11526
- }), m && (Fn(m), Zi.push(m.canvas)), f && (E.save(), E.globalCompositeOperation = "source-over", E.strokeStyle = "black", E.lineWidth = 1, I.getTriangles().forEach(function(x, O, k) {
11527
- const v = x.target, Q = (v[0][0] - j[0]) / g, U = -(v[0][1] - j[1]) / g, R = (v[1][0] - j[0]) / g, et = -(v[1][1] - j[1]) / g, Dt = (v[2][0] - j[0]) / g, tt = -(v[2][1] - j[1]) / g;
11528
- E.beginPath(), E.moveTo(R, et), E.lineTo(Q, U), E.lineTo(Dt, tt), E.closePath(), E.stroke();
11527
+ }), m && (Fn(m), Ui.push(m.canvas)), f && (E.save(), E.globalCompositeOperation = "source-over", E.strokeStyle = "black", E.lineWidth = 1, I.getTriangles().forEach(function(x, O, k) {
11528
+ const v = x.target, Q = (v[0][0] - j[0]) / g, Z = -(v[0][1] - j[1]) / g, R = (v[1][0] - j[0]) / g, et = -(v[1][1] - j[1]) / g, Dt = (v[2][0] - j[0]) / g, tt = -(v[2][1] - j[1]) / g;
11529
+ E.beginPath(), E.moveTo(R, et), E.lineTo(Q, Z), E.lineTo(Dt, tt), E.closePath(), E.stroke();
11529
11530
  }), E.restore()), E.canvas;
11530
11531
  }
11531
11532
  class rM extends yo {
@@ -11598,9 +11599,9 @@ class rM extends yo {
11598
11599
  v,
11599
11600
  this.sourceZ_
11600
11601
  );
11601
- for (let U = Q.minX; U <= Q.maxX; U++)
11602
+ for (let Z = Q.minX; Z <= Q.maxX; Z++)
11602
11603
  for (let R = Q.minY; R <= Q.maxY; R++) {
11603
- const et = N(this.sourceZ_, U, R, I);
11604
+ const et = N(this.sourceZ_, Z, R, I);
11604
11605
  et && this.sourceTiles_.push(et);
11605
11606
  }
11606
11607
  this.sourceTiles_.length === 0 && (this.state = K.EMPTY);
@@ -11685,7 +11686,7 @@ class rM extends yo {
11685
11686
  * Remove from the cache due to expiry
11686
11687
  */
11687
11688
  release() {
11688
- this.canvas_ && (Fn(this.canvas_.getContext("2d")), Zi.push(this.canvas_), this.canvas_ = null), super.release();
11689
+ this.canvas_ && (Fn(this.canvas_.getContext("2d")), Ui.push(this.canvas_), this.canvas_ = null), super.release();
11689
11690
  }
11690
11691
  }
11691
11692
  const aM = rM;
@@ -12690,7 +12691,7 @@ class zM {
12690
12691
  getTileCoordForXYAndResolution_(e, s, r, u, g) {
12691
12692
  const c = this.getZForResolution(r), I = r / this.getResolution(c), w = this.getOrigin(c), N = Ci(this.getTileSize(c), this.tmpSize_);
12692
12693
  let f = I * (e - w[0]) / r / N[0], T = I * (w[1] - s) / r / N[1];
12693
- return u ? (f = Ue(f, oi) - 1, T = Ue(T, oi) - 1) : (f = Ze(f, oi), T = Ze(T, oi)), lo(c, f, T, g);
12694
+ return u ? (f = Ze(f, oi) - 1, T = Ze(T, oi) - 1) : (f = Ue(f, oi), T = Ue(T, oi)), lo(c, f, T, g);
12694
12695
  }
12695
12696
  /**
12696
12697
  * Although there is repetition between this method and `getTileCoordForXYAndResolution_`,
@@ -12710,7 +12711,7 @@ class zM {
12710
12711
  getTileCoordForXYAndZ_(e, s, r, u, g) {
12711
12712
  const c = this.getOrigin(r), I = this.getResolution(r), w = Ci(this.getTileSize(r), this.tmpSize_);
12712
12713
  let N = (e - c[0]) / I / w[0], f = (c[1] - s) / I / w[1];
12713
- return u ? (N = Ue(N, oi) - 1, f = Ue(f, oi) - 1) : (N = Ze(N, oi), f = Ze(f, oi)), lo(r, N, f, g);
12714
+ return u ? (N = Ze(N, oi) - 1, f = Ze(f, oi) - 1) : (N = Ue(N, oi), f = Ue(f, oi)), lo(r, N, f, g);
12714
12715
  }
12715
12716
  /**
12716
12717
  * Get a tile coordinate given a map coordinate and zoom level.
@@ -12813,7 +12814,7 @@ function vo(a) {
12813
12814
  function _M(a, e, s) {
12814
12815
  const r = e[0], u = a.getTileCoordCenter(e), g = $e(s);
12815
12816
  if (!fo(g, u)) {
12816
- const c = Zt(g), I = Math.ceil(
12817
+ const c = Ut(g), I = Math.ceil(
12817
12818
  (g[0] - u[0]) / c
12818
12819
  );
12819
12820
  return u[0] += c * I, a.getTileCoordForCoordAndZ(u, r);
@@ -12846,7 +12847,7 @@ function So(a) {
12846
12847
  }
12847
12848
  function Eo(a, e, s, r) {
12848
12849
  e = e !== void 0 ? e : fM, s = Ci(s !== void 0 ? s : xo);
12849
- const u = oe(a), g = Zt(a);
12850
+ const u = oe(a), g = Ut(a);
12850
12851
  r = r > 0 ? r : Math.max(g / s[0], u / s[1]);
12851
12852
  const c = e + 1, I = new Array(c);
12852
12853
  for (let w = 0; w < c; ++w)
@@ -13247,8 +13248,8 @@ class is extends SM {
13247
13248
  this.tileCache.containsKey(u) && this.tileCache.get(u);
13248
13249
  }
13249
13250
  }
13250
- const ZM = is;
13251
- class UM extends ZM {
13251
+ const UM = is;
13252
+ class ZM extends UM {
13252
13253
  /**
13253
13254
  * @param {!Options} options Image tile options.
13254
13255
  */
@@ -13479,7 +13480,7 @@ class UM extends ZM {
13479
13480
  function GM(a, e) {
13480
13481
  a.getImage().src = e;
13481
13482
  }
13482
- const QM = UM;
13483
+ const QM = ZM;
13483
13484
  class PM extends QM {
13484
13485
  /**
13485
13486
  * @param {Options} [options] XYZ options.
@@ -109,7 +109,11 @@ class VectorTileLoader {
109
109
  this._numLoading--;
110
110
  this.loadNext();
111
111
  }.bind(this);
112
-
112
+
113
+ if (this._properties.detourProfile) {
114
+ url += '&SP_USE=' + encodeURIComponent(this._properties.detourProfile);
115
+ }
116
+
113
117
  xhr.open('GET', url, true);
114
118
  xhr.setRequestHeader('Authorization', `Bearer ${tile.tile.token}`);
115
119
  xhr.timeout = this._properties.timeout;
@@ -119,6 +123,7 @@ class VectorTileLoader {
119
123
  }
120
124
 
121
125
  static DEFAULT_PROPERTIES = {
126
+ detourProfile: null,
122
127
  timeout: 5000,
123
128
  parallelDownloads: 12
124
129
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@maptrip/map-tiles",
3
- "version": "1.0.8",
3
+ "version": "1.1.0",
4
4
  "description": "API to use MapTrip map tiles in other map APIs",
5
5
  "keywords": [
6
6
  "map",