@inlog/inlog-maps 6.6.0 → 6.8.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.
Files changed (76) hide show
  1. package/DOCUMENTATION.md +120 -1
  2. package/_bundles/inlog-maps.js +282 -82
  3. package/_bundles/inlog-maps.js.map +1 -1
  4. package/_bundles/inlog-maps.min.js +1 -1
  5. package/_bundles/inlog-maps.min.js.map +1 -1
  6. package/lib/map.d.ts +38 -1
  7. package/lib/map.js +61 -5
  8. package/lib/map.js.map +1 -1
  9. package/lib/models/apis/google/google-map.d.ts +4 -0
  10. package/lib/models/apis/google/google-map.js +27 -2
  11. package/lib/models/apis/google/google-map.js.map +1 -1
  12. package/lib/models/apis/google/google-polygons.d.ts +1 -0
  13. package/lib/models/apis/google/google-polygons.js +3 -0
  14. package/lib/models/apis/google/google-polygons.js.map +1 -1
  15. package/lib/models/apis/google/google-polylines.d.ts +4 -1
  16. package/lib/models/apis/google/google-polylines.js +22 -8
  17. package/lib/models/apis/google/google-polylines.js.map +1 -1
  18. package/lib/models/apis/google/google-popup.js +5 -0
  19. package/lib/models/apis/google/google-popup.js.map +1 -1
  20. package/lib/models/apis/googleMaps.d.ts +7 -1
  21. package/lib/models/apis/googleMaps.js +29 -5
  22. package/lib/models/apis/googleMaps.js.map +1 -1
  23. package/lib/models/apis/leaflet/leaflet-map.d.ts +4 -0
  24. package/lib/models/apis/leaflet/leaflet-map.js +23 -2
  25. package/lib/models/apis/leaflet/leaflet-map.js.map +1 -1
  26. package/lib/models/apis/leaflet/leaflet-polygons.d.ts +1 -0
  27. package/lib/models/apis/leaflet/leaflet-polygons.js +3 -0
  28. package/lib/models/apis/leaflet/leaflet-polygons.js.map +1 -1
  29. package/lib/models/apis/leaflet/leaflet-polylines.d.ts +4 -1
  30. package/lib/models/apis/leaflet/leaflet-polylines.js +22 -8
  31. package/lib/models/apis/leaflet/leaflet-polylines.js.map +1 -1
  32. package/lib/models/apis/leaflet/leaflet-popup.js +7 -0
  33. package/lib/models/apis/leaflet/leaflet-popup.js.map +1 -1
  34. package/lib/models/apis/leaflet.d.ts +7 -1
  35. package/lib/models/apis/leaflet.js +29 -5
  36. package/lib/models/apis/leaflet.js.map +1 -1
  37. package/lib/models/apis/mapFunctions.d.ts +1 -0
  38. package/lib/models/features/popup/popup-options.d.ts +2 -1
  39. package/lib/models/features/popup/popup-options.js +2 -1
  40. package/lib/models/features/popup/popup-options.js.map +1 -1
  41. package/lib-esm/map.d.ts +38 -1
  42. package/lib-esm/map.js +61 -5
  43. package/lib-esm/map.js.map +1 -1
  44. package/lib-esm/models/apis/google/google-map.d.ts +4 -0
  45. package/lib-esm/models/apis/google/google-map.js +27 -2
  46. package/lib-esm/models/apis/google/google-map.js.map +1 -1
  47. package/lib-esm/models/apis/google/google-polygons.d.ts +1 -0
  48. package/lib-esm/models/apis/google/google-polygons.js +3 -0
  49. package/lib-esm/models/apis/google/google-polygons.js.map +1 -1
  50. package/lib-esm/models/apis/google/google-polylines.d.ts +4 -1
  51. package/lib-esm/models/apis/google/google-polylines.js +22 -8
  52. package/lib-esm/models/apis/google/google-polylines.js.map +1 -1
  53. package/lib-esm/models/apis/google/google-popup.js +5 -0
  54. package/lib-esm/models/apis/google/google-popup.js.map +1 -1
  55. package/lib-esm/models/apis/googleMaps.d.ts +7 -1
  56. package/lib-esm/models/apis/googleMaps.js +29 -5
  57. package/lib-esm/models/apis/googleMaps.js.map +1 -1
  58. package/lib-esm/models/apis/leaflet/leaflet-map.d.ts +4 -0
  59. package/lib-esm/models/apis/leaflet/leaflet-map.js +23 -2
  60. package/lib-esm/models/apis/leaflet/leaflet-map.js.map +1 -1
  61. package/lib-esm/models/apis/leaflet/leaflet-polygons.d.ts +1 -0
  62. package/lib-esm/models/apis/leaflet/leaflet-polygons.js +3 -0
  63. package/lib-esm/models/apis/leaflet/leaflet-polygons.js.map +1 -1
  64. package/lib-esm/models/apis/leaflet/leaflet-polylines.d.ts +4 -1
  65. package/lib-esm/models/apis/leaflet/leaflet-polylines.js +22 -8
  66. package/lib-esm/models/apis/leaflet/leaflet-polylines.js.map +1 -1
  67. package/lib-esm/models/apis/leaflet/leaflet-popup.js +7 -0
  68. package/lib-esm/models/apis/leaflet/leaflet-popup.js.map +1 -1
  69. package/lib-esm/models/apis/leaflet.d.ts +7 -1
  70. package/lib-esm/models/apis/leaflet.js +29 -5
  71. package/lib-esm/models/apis/leaflet.js.map +1 -1
  72. package/lib-esm/models/apis/mapFunctions.d.ts +1 -0
  73. package/lib-esm/models/features/popup/popup-options.d.ts +2 -1
  74. package/lib-esm/models/features/popup/popup-options.js +2 -1
  75. package/lib-esm/models/features/popup/popup-options.js.map +1 -1
  76. package/package.json +1 -1
@@ -39,8 +39,8 @@ var __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _argume
39
39
  });
40
40
  };
41
41
  var __generator = (undefined && undefined.__generator) || function (thisArg, body) {
42
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
43
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
42
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
43
+ return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
44
44
  function verb(n) { return function (v) { return step([n, v]); }; }
45
45
  function step(op) {
46
46
  if (f) throw new TypeError("Generator is already executing.");
@@ -675,9 +675,9 @@ var Map = /** @class */ (function () {
675
675
  * @param {string} type
676
676
  * @param {InlogMaps.PolylineOptions} options
677
677
  */
678
- Map.prototype.drawPolylineWithNavigation = function (type, options, eventClick) {
678
+ Map.prototype.drawPolylineWithNavigation = function (type, options, eventClick, onNavigationPopupClose) {
679
679
  var _a;
680
- var polyline = (_a = this.map) === null || _a === void 0 ? void 0 : _a.drawPolylineWithNavigation(options, eventClick);
680
+ var polyline = (_a = this.map) === null || _a === void 0 ? void 0 : _a.drawPolylineWithNavigation(options, eventClick, onNavigationPopupClose);
681
681
  if (!this.polylinesList[type]) {
682
682
  this.polylinesList[type] = [];
683
683
  }
@@ -815,6 +815,10 @@ var Map = /** @class */ (function () {
815
815
  var _a;
816
816
  (_a = this.map) === null || _a === void 0 ? void 0 : _a.removePolylineHighlight();
817
817
  };
818
+ Map.prototype.setSuppressNavigationPopup = function (suppress) {
819
+ var _a;
820
+ (_a = this.map) === null || _a === void 0 ? void 0 : _a.setSuppressNavigationPopup(suppress);
821
+ };
818
822
  /**
819
823
  * Use this function to add listeners on polyline
820
824
  * @param {string} type
@@ -1010,8 +1014,8 @@ var Map = /** @class */ (function () {
1010
1014
  * @returns {Promise<string | null>}
1011
1015
  */
1012
1016
  Map.prototype.takeMapScreenshot = function () {
1013
- var _a;
1014
1017
  return __awaiter(this, void 0, void 0, function () {
1018
+ var _a;
1015
1019
  return __generator(this, function (_b) {
1016
1020
  switch (_b.label) {
1017
1021
  case 0: return [4 /*yield*/, ((_a = this.map) === null || _a === void 0 ? void 0 : _a.takeMapScreenshot())];
@@ -1185,6 +1189,58 @@ var Map = /** @class */ (function () {
1185
1189
  var _a;
1186
1190
  return (_a = this.map) === null || _a === void 0 ? void 0 : _a.pixelsToLatLng(offsetx, offsety);
1187
1191
  };
1192
+ /**
1193
+ * Returns the current viewport bounds as [[swLat, swLng], [neLat, neLng]]
1194
+ * @returns {number[][]}
1195
+ */
1196
+ Map.prototype.getBounds = function () {
1197
+ var _a, _b, _c;
1198
+ return (_c = (_b = (_a = this.map) === null || _a === void 0 ? void 0 : _a.getBounds) === null || _b === void 0 ? void 0 : _b.call(_a)) !== null && _c !== void 0 ? _c : [];
1199
+ };
1200
+ /**
1201
+ * Fits the map to an arbitrary bounding box defined by SW and NE corners.
1202
+ * Only zooms out — never zooms in beyond maxZoom.
1203
+ * @param {number[]} sw [lat, lng] of the south-west corner
1204
+ * @param {number[]} ne [lat, lng] of the north-east corner
1205
+ * @param {number} [maxZoom] maximum zoom level (prevents zooming in)
1206
+ */
1207
+ Map.prototype.fitBoundsCoordinates = function (sw, ne, maxZoom) {
1208
+ var _a, _b;
1209
+ (_b = (_a = this.map) === null || _a === void 0 ? void 0 : _a.fitBoundsCoordinates) === null || _b === void 0 ? void 0 : _b.call(_a, sw, ne, maxZoom);
1210
+ };
1211
+ /**
1212
+ * Brings the polygons matching the type/condition to the top of the rendering stack,
1213
+ * so they are drawn above other polygons of the same layer.
1214
+ * On Leaflet uses native bringToFront(); on Google Maps sets a high zIndex.
1215
+ * @param {string} type
1216
+ * @param {any} condition filter polygons by this predicate against polygon.object [nullable]
1217
+ */
1218
+ Map.prototype.bringPolygonToFront = function (type, condition) {
1219
+ var _a, _b;
1220
+ var polygons = this.getPolygons(type, condition);
1221
+ (_b = (_a = this.map) === null || _a === void 0 ? void 0 : _a.bringPolygonToFront) === null || _b === void 0 ? void 0 : _b.call(_a, polygons);
1222
+ };
1223
+ /**
1224
+ * Pans the map by the minimum amount necessary to make the given point visible,
1225
+ * without changing the current zoom level.
1226
+ * @param {number} lat latitude of the point
1227
+ * @param {number} lng longitude of the point
1228
+ */
1229
+ Map.prototype.panInsidePoint = function (lat, lng) {
1230
+ var _a, _b;
1231
+ (_b = (_a = this.map) === null || _a === void 0 ? void 0 : _a.panInsidePoint) === null || _b === void 0 ? void 0 : _b.call(_a, lat, lng);
1232
+ };
1233
+ /**
1234
+ * Pans the map by the minimum amount necessary to contain the given bounding box,
1235
+ * without changing the current zoom level. Use this when the bbox already fits in the
1236
+ * current viewport size and you only need to shift the view to reveal it.
1237
+ * @param {number[]} sw [lat, lng] of the south-west corner
1238
+ * @param {number[]} ne [lat, lng] of the north-east corner
1239
+ */
1240
+ Map.prototype.panInsideBounds = function (sw, ne) {
1241
+ var _a, _b;
1242
+ (_b = (_a = this.map) === null || _a === void 0 ? void 0 : _a.panInsideBounds) === null || _b === void 0 ? void 0 : _b.call(_a, sw, ne);
1243
+ };
1188
1244
  /**
1189
1245
  * Use this functions to fit bounds on elements with same type and condition
1190
1246
  * @param {string} type
@@ -1454,8 +1510,8 @@ var __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _argume
1454
1510
  });
1455
1511
  };
1456
1512
  var __generator = (undefined && undefined.__generator) || function (thisArg, body) {
1457
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
1458
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
1513
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
1514
+ return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
1459
1515
  function verb(n) { return function (v) { return step([n, v]); }; }
1460
1516
  function step(op) {
1461
1517
  if (f) throw new TypeError("Generator is already executing.");
@@ -1693,6 +1749,10 @@ var GoogleMaps = /** @class */ (function () {
1693
1749
  var _a;
1694
1750
  (_a = this.googlePolygons) === null || _a === void 0 ? void 0 : _a.fitBoundsPolygons(polygons);
1695
1751
  };
1752
+ GoogleMaps.prototype.bringPolygonToFront = function (polygons) {
1753
+ var _a;
1754
+ (_a = this.googlePolygons) === null || _a === void 0 ? void 0 : _a.bringPolygonToFront(polygons);
1755
+ };
1696
1756
  GoogleMaps.prototype.setCenterPolygons = function (polygons) {
1697
1757
  var _a;
1698
1758
  (_a = this.googlePolygons) === null || _a === void 0 ? void 0 : _a.setCenterPolygons(polygons);
@@ -1755,9 +1815,9 @@ var GoogleMaps = /** @class */ (function () {
1755
1815
  var _a;
1756
1816
  return (_a = this.googlePolylines) === null || _a === void 0 ? void 0 : _a.drawPolyline(options, eventClick, callBackEdit);
1757
1817
  };
1758
- GoogleMaps.prototype.drawPolylineWithNavigation = function (options, eventClick) {
1818
+ GoogleMaps.prototype.drawPolylineWithNavigation = function (options, eventClick, onNavigationPopupClose) {
1759
1819
  var _a;
1760
- return (_a = this.googlePolylines) === null || _a === void 0 ? void 0 : _a.drawPolylineWithNavigation(options, eventClick);
1820
+ return (_a = this.googlePolylines) === null || _a === void 0 ? void 0 : _a.drawPolylineWithNavigation(options, eventClick, onNavigationPopupClose);
1761
1821
  };
1762
1822
  GoogleMaps.prototype.togglePolylines = function (polylines, show) {
1763
1823
  var _a;
@@ -1787,6 +1847,10 @@ var GoogleMaps = /** @class */ (function () {
1787
1847
  var _a;
1788
1848
  (_a = this.googlePolylines) === null || _a === void 0 ? void 0 : _a.removePolylineHighlight();
1789
1849
  };
1850
+ GoogleMaps.prototype.setSuppressNavigationPopup = function (suppress) {
1851
+ var _a;
1852
+ (_a = this.googlePolylines) === null || _a === void 0 ? void 0 : _a.setSuppressNavigationPopup(suppress);
1853
+ };
1790
1854
  GoogleMaps.prototype.addPolylineEvent = function (polylines, eventType, eventFunction) {
1791
1855
  var _a;
1792
1856
  (_a = this.googlePolylines) === null || _a === void 0 ? void 0 : _a.addPolylineEvent(polylines, eventType, eventFunction);
@@ -1864,9 +1928,9 @@ var GoogleMaps = /** @class */ (function () {
1864
1928
  (_a = this.googleMap) === null || _a === void 0 ? void 0 : _a.setZoom(zoom);
1865
1929
  };
1866
1930
  GoogleMaps.prototype.takeMapScreenshot = function () {
1867
- var _a;
1868
1931
  return __awaiter(this, void 0, void 0, function () {
1869
1932
  var image;
1933
+ var _a;
1870
1934
  return __generator(this, function (_b) {
1871
1935
  switch (_b.label) {
1872
1936
  case 0: return [4 /*yield*/, ((_a = this.googleMap) === null || _a === void 0 ? void 0 : _a.takeScreenShot(this.elementId))];
@@ -1889,6 +1953,22 @@ var GoogleMaps = /** @class */ (function () {
1889
1953
  var _a;
1890
1954
  return (_a = this.googleMap) === null || _a === void 0 ? void 0 : _a.pixelsToLatLng(offsetx, offsety);
1891
1955
  };
1956
+ GoogleMaps.prototype.getBounds = function () {
1957
+ var _a, _b;
1958
+ return (_b = (_a = this.googleMap) === null || _a === void 0 ? void 0 : _a.getBounds()) !== null && _b !== void 0 ? _b : [];
1959
+ };
1960
+ GoogleMaps.prototype.fitBoundsCoordinates = function (sw, ne, maxZoom) {
1961
+ var _a;
1962
+ (_a = this.googleMap) === null || _a === void 0 ? void 0 : _a.fitBoundsCoordinates(sw, ne, maxZoom);
1963
+ };
1964
+ GoogleMaps.prototype.panInsidePoint = function (lat, lng) {
1965
+ var _a;
1966
+ (_a = this.googleMap) === null || _a === void 0 ? void 0 : _a.panInsidePoint(lat, lng);
1967
+ };
1968
+ GoogleMaps.prototype.panInsideBounds = function (sw, ne) {
1969
+ var _a;
1970
+ (_a = this.googleMap) === null || _a === void 0 ? void 0 : _a.panInsideBounds(sw, ne);
1971
+ };
1892
1972
  GoogleMaps.prototype.fitBoundsElements = function (markers, circles, polygons, polylines) {
1893
1973
  var _a;
1894
1974
  (_a = this.googleMap) === null || _a === void 0 ? void 0 : _a.fitBoundsElements(markers, circles, polygons, polylines);
@@ -2561,8 +2641,8 @@ var __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _argume
2561
2641
  });
2562
2642
  };
2563
2643
  var __generator = (undefined && undefined.__generator) || function (thisArg, body) {
2564
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
2565
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
2644
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
2645
+ return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
2566
2646
  function verb(n) { return function (v) { return step([n, v]); }; }
2567
2647
  function step(op) {
2568
2648
  if (f) throw new TypeError("Generator is already executing.");
@@ -2686,6 +2766,31 @@ var GoogleMap = /** @class */ (function () {
2686
2766
  .fromPointToLatLng(worldCoordinateNewCenter);
2687
2767
  return [latlng.lat(), latlng.lng()];
2688
2768
  };
2769
+ GoogleMap.prototype.getBounds = function () {
2770
+ var bounds = this.map.getBounds();
2771
+ if (!bounds)
2772
+ return [];
2773
+ return [
2774
+ [bounds.getSouthWest().lat(), bounds.getSouthWest().lng()],
2775
+ [bounds.getNorthEast().lat(), bounds.getNorthEast().lng()],
2776
+ ];
2777
+ };
2778
+ GoogleMap.prototype.fitBoundsCoordinates = function (sw, ne, maxZoom) {
2779
+ var bounds = new google.maps.LatLngBounds(new google.maps.LatLng(sw[0], sw[1]), new google.maps.LatLng(ne[0], ne[1]));
2780
+ this.map.fitBounds(bounds);
2781
+ if (maxZoom !== undefined && this.map.getZoom() > maxZoom) {
2782
+ this.map.setZoom(maxZoom);
2783
+ }
2784
+ };
2785
+ GoogleMap.prototype.panInsidePoint = function (lat, lng) {
2786
+ var pt = new this.google.maps.LatLng(lat, lng);
2787
+ var bounds = new this.google.maps.LatLngBounds(pt, pt);
2788
+ this.map.panToBounds(bounds);
2789
+ };
2790
+ GoogleMap.prototype.panInsideBounds = function (sw, ne) {
2791
+ var bounds = new this.google.maps.LatLngBounds(new this.google.maps.LatLng(sw[0], sw[1]), new this.google.maps.LatLng(ne[0], ne[1]));
2792
+ this.map.panToBounds(bounds);
2793
+ };
2689
2794
  GoogleMap.prototype.fitBoundsElements = function (markers, circles, polygons, polylines) {
2690
2795
  var bounds = new google.maps.LatLngBounds();
2691
2796
  if (markers && markers.length) {
@@ -12680,6 +12785,9 @@ var GooglePolygons = /** @class */ (function () {
12680
12785
  eventFunction(param, polygon.object);
12681
12786
  });
12682
12787
  };
12788
+ GooglePolygons.prototype.bringPolygonToFront = function (polygons) {
12789
+ polygons.forEach(function (polygon) { return polygon.setOptions({ zIndex: 1000 }); });
12790
+ };
12683
12791
  GooglePolygons.prototype.getPathRecursiveArray = function (path) {
12684
12792
  var _this = this;
12685
12793
  if (Array.isArray(path) && typeof path[0] !== "number") {
@@ -12732,6 +12840,8 @@ var GooglePolylines = /** @class */ (function () {
12732
12840
  this.multiSelection = false;
12733
12841
  this.navigateByPoint = false;
12734
12842
  this.navigationOptions = {};
12843
+ this.suppressNavigationPopup = false;
12844
+ this.navigationPopupCloseHandler = null;
12735
12845
  this.map = map;
12736
12846
  this.google = google;
12737
12847
  this.googlePopups = googlePopups;
@@ -12871,13 +12981,14 @@ var GooglePolylines = /** @class */ (function () {
12871
12981
  GooglePolylines.prototype.setEditModeBlockingMapClick = function (newState) {
12872
12982
  this.editModeBlockingMapClick = newState;
12873
12983
  };
12874
- GooglePolylines.prototype.drawPolylineWithNavigation = function (options, eventClick) {
12984
+ GooglePolylines.prototype.drawPolylineWithNavigation = function (options, eventClick, onNavigationPopupClose) {
12875
12985
  var polyline = this.drawPolyline(options, null);
12876
12986
  polyline.navigationHandlerClick = eventClick;
12877
12987
  this.navigationOptions = options.navigateOptions;
12878
12988
  this.navigateByPoint = this.navigationOptions
12879
12989
  ? this.navigationOptions.navigateByPoint
12880
12990
  : true;
12991
+ this.navigationPopupCloseHandler = onNavigationPopupClose || null;
12881
12992
  this.addNavigation(polyline);
12882
12993
  return polyline;
12883
12994
  };
@@ -12997,6 +13108,13 @@ var GooglePolylines = /** @class */ (function () {
12997
13108
  this.navigateInfoWindow.close();
12998
13109
  }
12999
13110
  };
13111
+ GooglePolylines.prototype.setSuppressNavigationPopup = function (suppress) {
13112
+ this.suppressNavigationPopup = suppress;
13113
+ if (suppress && this.navigateInfoWindow) {
13114
+ this.navigateInfoWindow.close();
13115
+ this.navigateInfoWindow = null;
13116
+ }
13117
+ };
13000
13118
  GooglePolylines.prototype.addPolylineEvent = function (polylines, eventType, eventFunction) {
13001
13119
  var _this = this;
13002
13120
  polylines.forEach(function (polyline) {
@@ -13162,9 +13280,7 @@ var GooglePolylines = /** @class */ (function () {
13162
13280
  }
13163
13281
  else {
13164
13282
  self.multiSelection = true;
13165
- if (self.multiSelectionForward) {
13166
- polyline.finalIdx++;
13167
- }
13283
+ polyline.finalIdx++;
13168
13284
  self.multiSelectionForward = true;
13169
13285
  }
13170
13286
  };
@@ -13189,9 +13305,7 @@ var GooglePolylines = /** @class */ (function () {
13189
13305
  }
13190
13306
  else {
13191
13307
  self.multiSelection = true;
13192
- if (!self.multiSelectionForward) {
13193
- polyline.initialIdx--;
13194
- }
13308
+ polyline.initialIdx--;
13195
13309
  self.multiSelectionForward = false;
13196
13310
  }
13197
13311
  };
@@ -13261,7 +13375,9 @@ var GooglePolylines = /** @class */ (function () {
13261
13375
  }
13262
13376
  this.selectedPath.initialIdx = polyline.initialIdx;
13263
13377
  this.selectedPath.finalIdx = polyline.finalIdx;
13264
- this.drawPopupNavigation(polyline);
13378
+ if (!this.suppressNavigationPopup) {
13379
+ this.drawPopupNavigation(polyline);
13380
+ }
13265
13381
  };
13266
13382
  GooglePolylines.prototype.addPolylineEventMove = function (polyline, eventFunction) {
13267
13383
  polyline.moveListener = function (newEvent, lastEvent) {
@@ -13396,6 +13512,12 @@ var GooglePolylines = /** @class */ (function () {
13396
13512
  content: infowindow,
13397
13513
  latlng: [point.lat(), point.lng()],
13398
13514
  });
13515
+ if (self.navigationPopupCloseHandler && self.navigateInfoWindow) {
13516
+ self.google.maps.event.addListenerOnce(self.navigateInfoWindow, 'closeclick', function () {
13517
+ self.navigateInfoWindow = null;
13518
+ self.navigationPopupCloseHandler();
13519
+ });
13520
+ }
13399
13521
  }
13400
13522
  }
13401
13523
  };
@@ -13517,6 +13639,11 @@ var GooglePopups = /** @class */ (function () {
13517
13639
  if (options.object) {
13518
13640
  infowindow.object = options.object;
13519
13641
  }
13642
+ if (options.onClose) {
13643
+ self.google.maps.event.addListenerOnce(infowindow, 'closeclick', function () {
13644
+ options.onClose();
13645
+ });
13646
+ }
13520
13647
  return infowindow;
13521
13648
  };
13522
13649
  GooglePopups.prototype.alterPopup = function (popup, options, marker) {
@@ -13586,8 +13713,8 @@ var __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _argume
13586
13713
  });
13587
13714
  };
13588
13715
  var __generator = (undefined && undefined.__generator) || function (thisArg, body) {
13589
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13590
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
13716
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
13717
+ return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
13591
13718
  function verb(n) { return function (v) { return step([n, v]); }; }
13592
13719
  function step(op) {
13593
13720
  if (f) throw new TypeError("Generator is already executing.");
@@ -13673,7 +13800,7 @@ var Leaflet = /** @class */ (function () {
13673
13800
  });
13674
13801
  satelliteURL = "https://server.arcgisonline.com/ArcGIS/rest/services/" +
13675
13802
  "World_Imagery/MapServer/tile/{z}/{y}/{x}";
13676
- satellite = L.tileLayer(satelliteURL, {
13803
+ satellite = leaflet_1.tileLayer(satelliteURL, {
13677
13804
  attribution: "Tiles &copy; Esri &mdash; Source: Esri, i-cubed, USDA, USGS, AEX, GeoEye," +
13678
13805
  " Getmapping, Aerogrid, IGN, IGP, UPR-EGP, and the GIS User Community",
13679
13806
  maxZoom: 18,
@@ -13815,6 +13942,10 @@ var Leaflet = /** @class */ (function () {
13815
13942
  var _a;
13816
13943
  (_a = this.leafletPolygons) === null || _a === void 0 ? void 0 : _a.fitBoundsPolygons(polygons);
13817
13944
  };
13945
+ Leaflet.prototype.bringPolygonToFront = function (polygons) {
13946
+ var _a;
13947
+ (_a = this.leafletPolygons) === null || _a === void 0 ? void 0 : _a.bringPolygonToFront(polygons);
13948
+ };
13818
13949
  Leaflet.prototype.setCenterPolygons = function (polygons) {
13819
13950
  var _a;
13820
13951
  (_a = this.leafletPolygons) === null || _a === void 0 ? void 0 : _a.setCenterPolygons(polygons);
@@ -13877,9 +14008,9 @@ var Leaflet = /** @class */ (function () {
13877
14008
  var _a;
13878
14009
  return (_a = this.leafletPolylines) === null || _a === void 0 ? void 0 : _a.drawPolyline(options, eventClick, callBackEdit);
13879
14010
  };
13880
- Leaflet.prototype.drawPolylineWithNavigation = function (options, eventClick) {
14011
+ Leaflet.prototype.drawPolylineWithNavigation = function (options, eventClick, onNavigationPopupClose) {
13881
14012
  var _a;
13882
- return (_a = this.leafletPolylines) === null || _a === void 0 ? void 0 : _a.drawPolylineWithNavigation(options, eventClick);
14013
+ return (_a = this.leafletPolylines) === null || _a === void 0 ? void 0 : _a.drawPolylineWithNavigation(options, eventClick, onNavigationPopupClose);
13883
14014
  };
13884
14015
  Leaflet.prototype.togglePolylines = function (polylines, show) {
13885
14016
  var _a;
@@ -13909,6 +14040,10 @@ var Leaflet = /** @class */ (function () {
13909
14040
  var _a;
13910
14041
  (_a = this.leafletPolylines) === null || _a === void 0 ? void 0 : _a.removePolylineHighlight();
13911
14042
  };
14043
+ Leaflet.prototype.setSuppressNavigationPopup = function (suppress) {
14044
+ var _a;
14045
+ (_a = this.leafletPolylines) === null || _a === void 0 ? void 0 : _a.setSuppressNavigationPopup(suppress);
14046
+ };
13912
14047
  Leaflet.prototype.addPolylineEvent = function (polylines, eventType, eventFunction) {
13913
14048
  var _a;
13914
14049
  (_a = this.leafletPolylines) === null || _a === void 0 ? void 0 : _a.addPolylineEvent(polylines, eventType, eventFunction);
@@ -14008,6 +14143,22 @@ var Leaflet = /** @class */ (function () {
14008
14143
  var _a;
14009
14144
  return (_a = this.leafletMap) === null || _a === void 0 ? void 0 : _a.pixelsToLatLng(offsetx, offsety);
14010
14145
  };
14146
+ Leaflet.prototype.getBounds = function () {
14147
+ var _a, _b;
14148
+ return (_b = (_a = this.leafletMap) === null || _a === void 0 ? void 0 : _a.getBounds()) !== null && _b !== void 0 ? _b : [];
14149
+ };
14150
+ Leaflet.prototype.fitBoundsCoordinates = function (sw, ne, maxZoom) {
14151
+ var _a;
14152
+ (_a = this.leafletMap) === null || _a === void 0 ? void 0 : _a.fitBoundsCoordinates(sw, ne, maxZoom);
14153
+ };
14154
+ Leaflet.prototype.panInsidePoint = function (lat, lng) {
14155
+ var _a;
14156
+ (_a = this.leafletMap) === null || _a === void 0 ? void 0 : _a.panInsidePoint(lat, lng);
14157
+ };
14158
+ Leaflet.prototype.panInsideBounds = function (sw, ne) {
14159
+ var _a;
14160
+ (_a = this.leafletMap) === null || _a === void 0 ? void 0 : _a.panInsideBounds(sw, ne);
14161
+ };
14011
14162
  Leaflet.prototype.fitBoundsElements = function (markers, circles, polygons, polylines) {
14012
14163
  var _a;
14013
14164
  (_a = this.leafletMap) === null || _a === void 0 ? void 0 : _a.fitBoundsElements(markers, circles, polygons, polylines);
@@ -14077,7 +14228,10 @@ var Leaflet = /** @class */ (function () {
14077
14228
  /* 21 */
14078
14229
  /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
14079
14230
 
14080
- !function(e,t){ true?t(exports):0}(this,function(e){"use strict";var t="undefined"!=typeof window?window:"undefined"!=typeof __webpack_require__.g?__webpack_require__.g:"undefined"!=typeof self?self:{};function n(e,t){return e(t={exports:{}},t.exports),t.exports}var o=n(function(e,n){!function(t){const n={escape:function(e){return e.replace(/([.*+?^${}()|\[\]\/\\])/g,"\\$1")},parseExtension:o,mimeType:function(e){return e=o(e).toLowerCase(),function(){var e="application/font-woff",t="image/jpeg";return{woff:e,woff2:e,ttf:"application/font-truetype",eot:"application/vnd.ms-fontobject",png:"image/png",jpg:t,jpeg:t,gif:"image/gif",tiff:"image/tiff",svg:"image/svg+xml"}}()[e]||""},dataAsUrl:function(e,t){return`data:${t};base64,`+e},isDataUrl:function(e){return-1!==e.search(/^(data:)/)},canvasToBlob:function(e){return e.toBlob?new Promise(function(t){e.toBlob(t)}):(t=e,new Promise(function(e){const n=d(t.toDataURL().split(",")[1]);var o=n.length;const r=new Uint8Array(o);for(let e=0;e<o;e++)r[e]=n.charCodeAt(e);e(new Blob([r],{type:"image/png"}))}));var t},resolveUrl:function(e,t){const n=document.implementation.createHTMLDocument(),o=n.createElement("base"),r=(n.head.appendChild(o),n.createElement("a"));return n.body.appendChild(r),o.href=t,r.href=e,r.href},getAndEncode:function(e){let t=h.impl.urlCache.find(function(t){return t.url===e});return t||(t={url:e,promise:null},h.impl.urlCache.push(t)),null===t.promise&&(h.impl.options.cacheBust&&(e+=(/\?/.test(e)?"&":"?")+(new Date).getTime()),t.promise=new Promise(function(t){const n=h.impl.options.httpTimeout,o=new XMLHttpRequest;let r;var i;function a(e){console.error(e),t("")}o.onreadystatechange=function(){if(4===o.readyState)if(200!==o.status)r?t(r):a(`cannot fetch resource: ${e}, status: `+o.status);else{const e=new FileReader;e.onloadend=function(){var n=e.result.split(/,/)[1];t(n)},e.readAsDataURL(o.response)}},o.ontimeout=function(){r?t(r):a(`timeout of ${n}ms occured while fetching resource: `+e)},o.responseType="blob",o.timeout=n,h.impl.options.useCredentials&&(o.withCredentials=!0),o.open("GET",e,!0),o.send(),h.impl.options.imagePlaceholder&&(i=h.impl.options.imagePlaceholder.split(/,/))&&i[1]&&(r=i[1])})),t.promise},uid:function(){let e=0;return function(){return"u"+("0000"+(Math.random()*Math.pow(36,4)<<0).toString(36)).slice(-4)+e++}}(),delay:function(e){return function(t){return new Promise(function(n){setTimeout(function(){n(t)},e)})}},asArray:function(e){const t=[],n=e.length;for(let o=0;o<n;o++)t.push(e[o]);return t},escapeXhtml:function(e){return e.replace(/%/g,"%25").replace(/#/g,"%23").replace(/\n/g,"%0A")},makeImage:function(e){return"data:,"!==e?new Promise(function(t,n){const o=new Image;h.impl.options.useCredentials&&(o.crossOrigin="use-credentials"),o.onload=function(){t(o)},o.onerror=n,o.src=e}):Promise.resolve()},width:function(e){var t=r(e,"border-left-width"),n=r(e,"border-right-width");return e.scrollWidth+t+n},height:function(e){var t=r(e,"border-top-width"),n=r(e,"border-bottom-width");return e.scrollHeight+t+n}};function o(e){return(e=/\.([^\.\/]*?)(\?|$)/g.exec(e))?e[1]:""}function r(e,t){const n=f(e).getPropertyValue(t);return parseFloat(n.replace("px",""))}const i=function(){const e=/url\(['"]?([^'"]+?)['"]?\)/g;return{inlineAll:function(e,n,i){return t(e)?Promise.resolve(e).then(o).then(function(t){let o=Promise.resolve(e);return t.forEach(function(e){o=o.then(function(t){return r(t,e,n,i)})}),o}):Promise.resolve(e)},shouldProcess:t,impl:{readUrls:o,inline:r}};function t(t){return-1!==t.search(e)}function o(t){const o=[];for(var r;null!==(r=e.exec(t));)o.push(r[1]);return o.filter(function(e){return!n.isDataUrl(e)})}function r(e,t,o,r){return Promise.resolve(t).then(function(e){return o?n.resolveUrl(e,o):e}).then(r||n.getAndEncode).then(function(e){return n.dataAsUrl(e,n.mimeType(t))}).then(function(o){return e.replace((r=t,new RegExp(`(url\\(['"]?)(${n.escape(r)})(['"]?\\))`,"g")),`$1${o}$3`);var r})}}(),a={resolveAll:function(){return s().then(function(e){return Promise.all(e.map(function(e){return e.resolve()}))}).then(function(e){return e.join("\n")})},impl:{readAll:s}};function s(){return Promise.resolve(n.asArray(document.styleSheets)).then(function(e){const t=[];return e.forEach(function(e){if(Object.getPrototypeOf(e).hasOwnProperty("cssRules"))try{n.asArray(e.cssRules||[]).forEach(t.push.bind(t))}catch(t){console.log("Error while reading CSS rules from "+e.href,t.toString())}}),t}).then(function(e){return e.filter(function(e){return e.type===CSSRule.FONT_FACE_RULE}).filter(function(e){return i.shouldProcess(e.style.getPropertyValue("src"))})}).then(function(t){return t.map(e)});function e(e){return{resolve:function(){var t=(e.parentStyleSheet||{}).href;return i.inlineAll(e.cssText,t)},src:function(){return e.style.getPropertyValue("src")}}}}const c={inlineAll:function e(t){return t instanceof Element?function(e){const t=e.style.getPropertyValue("background");return t?i.inlineAll(t).then(function(n){e.style.setProperty("background",n,t)}).then(function(){return e}):Promise.resolve(e)}(t).then(function(){return t instanceof HTMLImageElement?l(t).inline():Promise.all(n.asArray(t.childNodes).map(function(t){return e(t)}))}):Promise.resolve(t)},impl:{newImage:l}};function l(e){return{inline:function(t){return n.isDataUrl(e.src)?Promise.resolve():Promise.resolve(e.src).then(t||n.getAndEncode).then(function(t){return n.dataAsUrl(t,n.mimeType(e.src))}).then(function(t){return new Promise(function(n){e.onload=n,e.onerror=n,e.src=t})})}}}const u={imagePlaceholder:void 0,cacheBust:!1,useCredentials:!1,httpTimeout:3e4},h={toSvg:p,toPng:function(e,t){return(t=t||{}).raster=!0,m(e,t).then(function(e){return e.toDataURL()})},toJpeg:function(e,t){return(t=t||{}).raster=!0,m(e,t).then(function(e){return e.toDataURL("image/jpeg",t.quality||1)})},toBlob:function(e,t){return(t=t||{}).raster=!0,m(e,t).then(n.canvasToBlob)},toPixelData:function(e,t){return(t=t||{}).raster=!0,m(e,t).then(function(t){return t.getContext("2d").getImageData(0,0,n.width(e),n.height(e)).data})},toCanvas:function(e,t){return(t=t||{}).raster=!0,m(e,t||{})},impl:{fontFaces:a,images:c,util:n,inliner:i,urlCache:[],options:{}}},f=(e.exports=h,t.getComputedStyle||window.getComputedStyle),d=t.atob||window.atob;function p(e,t){var o=t=t||{};return void 0===o.imagePlaceholder?h.impl.options.imagePlaceholder=u.imagePlaceholder:h.impl.options.imagePlaceholder=o.imagePlaceholder,void 0===o.cacheBust?h.impl.options.cacheBust=u.cacheBust:h.impl.options.cacheBust=o.cacheBust,void 0===o.useCredentials?h.impl.options.useCredentials=u.useCredentials:h.impl.options.useCredentials=o.useCredentials,Promise.resolve(e).then(function(e){return function e(t,o,r,i,a=null){return r||!o||o(t)?Promise.resolve(t).then(function(e){return e instanceof HTMLCanvasElement?n.makeImage(e.toDataURL()):"IFRAME"===e.nodeName?html2canvas(e.contentDocument.body).then(e=>e.toDataURL()).then(n.makeImage):e.cloneNode(!1)}).then(function(r){return function(t,r){const a=t.childNodes;return 0===a.length?Promise.resolve(r):function(n,r){const a=f(t);let s=Promise.resolve();return r.forEach(function(t){s=s.then(function(){return e(t,o,!1,i,a)}).then(function(e){e&&n.appendChild(e)})}),s}(r,n.asArray(a)).then(function(){return r})}(t,r)}).then(function(e){return function(e,t,o){return t instanceof Element?Promise.resolve().then(function(){!function(e,t){const i=f(e);i.cssText?(t.style.cssText=i.cssText,function(e,t){t.font=e.font,t.fontFamily=e.fontFamily,t.fontFeatureSettings=e.fontFeatureSettings,t.fontKerning=e.fontKerning,t.fontSize=e.fontSize,t.fontStretch=e.fontStretch,t.fontStyle=e.fontStyle,t.fontVariant=e.fontVariant,t.fontVariantCaps=e.fontVariantCaps,t.fontVariantEastAsian=e.fontVariantEastAsian,t.fontVariantLigatures=e.fontVariantLigatures,t.fontVariantNumeric=e.fontVariantNumeric,t.fontVariationSettings=e.fontVariationSettings,t.fontWeight=e.fontWeight}(i,t.style)):(o?function(e,t,n,o){const r=n.style,i=e.style;for(var a of t){var s=t.getPropertyValue(a),c=i.getPropertyValue(a),l=(i.setProperty(a,o?"initial":"unset"),t.getPropertyValue(a));l!==s?r.setProperty(a,s):r.removeProperty(a),i.setProperty(a,c)}}(e,i,t,r):function(e,t,o){const r=function(e){if(v[e])return v[e];y||((y=document.createElement("iframe")).style.visibility="hidden",y.style.position="fixed",document.body.appendChild(y),y.contentWindow.document.write('<!DOCTYPE html><meta charset="UTF-8"><title>sandbox</title><body>'));const t=document.createElement(e),o=(y.contentWindow.document.body.appendChild(t),t.textContent=".",y.contentWindow.getComputedStyle(t)),r={};return n.asArray(o).forEach(function(e){r[e]="width"===e||"height"===e?"auto":o.getPropertyValue(e)}),y.contentWindow.document.body.removeChild(t),v[e]=r}(o.tagName),i=o.style;n.asArray(e).forEach(function(n){var o=e.getPropertyValue(n);(o!==r[n]||t&&o!==t.getPropertyValue(n))&&i.setProperty(n,o,e.getPropertyPriority(n))})}(i,a,t),r&&(["inset-block","inset-block-start","inset-block-end"].forEach(e=>t.style.removeProperty(e)),["left","right","top","bottom"].forEach(e=>{t.style.getPropertyValue(e)&&t.style.setProperty(e,"0px")})))}(e,t)}).then(function(){[":before",":after"].forEach(function(o){!function(o){const r=f(e,o),i=r.getPropertyValue("content");if(""!==i&&"none"!==i){const e=n.uid(),i=t.getAttribute("class"),a=(i&&t.setAttribute("class",i+" "+e),document.createElement("style"));a.appendChild(function(){const t=`.${e}:`+o,i=(r.cssText?function(){return`${r.cssText} content: ${r.getPropertyValue("content")};`}:function(){return n.asArray(r).map(function(e){return e+": "+r.getPropertyValue(e)+(r.getPropertyPriority(e)?" !important":"")}).join("; ")+";"})();return document.createTextNode(t+`{${i}}`)}()),t.appendChild(a)}}(o)})}).then(function(){e instanceof HTMLTextAreaElement&&(t.innerHTML=e.value),e instanceof HTMLInputElement&&t.setAttribute("value",e.value)}).then(function(){t instanceof SVGElement&&(t.setAttribute("xmlns","http://www.w3.org/2000/svg"),t instanceof SVGRectElement&&["width","height"].forEach(function(e){const n=t.getAttribute(e);n&&t.style.setProperty(e,n)}))}).then(function(){return t}):t}(t,e,i)}):Promise.resolve()}(e,t.filter,!0,!t.raster)}).then(g).then(w).then(function(e){t.bgcolor&&(e.style.backgroundColor=t.bgcolor),t.width&&(e.style.width=t.width+"px"),t.height&&(e.style.height=t.height+"px"),t.style&&Object.keys(t.style).forEach(function(n){e.style[n]=t.style[n]});let n=null;return"function"==typeof t.onclone&&(n=t.onclone(e)),Promise.resolve(n).then(function(){return e})}).then(function(o){return o=o,r=t.width||n.width(e),i=t.height||n.height(e),Promise.resolve(o).then(function(e){return e.setAttribute("xmlns","http://www.w3.org/1999/xhtml"),(new XMLSerializer).serializeToString(e)}).then(n.escapeXhtml).then(function(e){return`<foreignObject x="0" y="0" width="100%" height="100%">${e}</foreignObject>`}).then(function(e){return`<svg xmlns="http://www.w3.org/2000/svg" width="${r}" height="${i}">${e}</svg>`}).then(function(e){return"data:image/svg+xml;charset=utf-8,"+e});var r,i}).then(function(e){return h.impl.urlCache=[],e})}function m(e,t){return p(e,t).then(n.makeImage).then(n.delay(0)).then(function(o){var r="number"!=typeof t.scale?1:t.scale;const i=function(e,o){const r=document.createElement("canvas");if(r.width=(t.width||n.width(e))*o,r.height=(t.height||n.height(e))*o,t.bgcolor){const e=r.getContext("2d");e.fillStyle=t.bgcolor,e.fillRect(0,0,r.width,r.height)}return r}(e,r),a=i.getContext("2d");return a.mozImageSmoothingEnabled=!1,a.msImageSmoothingEnabled=!1,a.imageSmoothingEnabled=!1,o&&(a.scale(r,r),a.drawImage(o,0,0)),y&&(document.body.removeChild(y),y=null,M&&clearTimeout(M),M=setTimeout(()=>{M=null,v={}},2e4)),i})}function g(e){return a.resolveAll().then(function(t){const n=document.createElement("style");return e.appendChild(n),n.appendChild(document.createTextNode(t)),e})}function w(e){return c.inlineAll(e).then(function(){return e})}let M=null,y=null,v={}}(t)}),r=n(function(e,n){(function(){function n(e,t,n){var o=new XMLHttpRequest;o.open("GET",e),o.responseType="blob",o.onload=function(){a(o.response,t,n)},o.onerror=function(){console.error("could not download file")},o.send()}function o(e){var t=new XMLHttpRequest;t.open("HEAD",e,!1);try{t.send()}catch(e){}return 200<=t.status&&299>=t.status}function r(e){try{e.dispatchEvent(new MouseEvent("click"))}catch(n){var t=document.createEvent("MouseEvents");t.initMouseEvent("click",!0,!0,window,0,0,0,80,20,!1,!1,!1,!1,0,null),e.dispatchEvent(t)}}var i="object"==typeof window&&window.window===window?window:"object"==typeof self&&self.self===self?self:"object"==typeof t&&t.global===t?t:void 0,a=i.saveAs||("object"!=typeof window||window!==i?function(){}:"download"in HTMLAnchorElement.prototype?function(e,t,a){var s=i.URL||i.webkitURL,c=document.createElement("a");t=t||e.name||"download",c.download=t,c.rel="noopener","string"==typeof e?(c.href=e,c.origin===location.origin?r(c):o(c.href)?n(e,t,a):r(c,c.target="_blank")):(c.href=s.createObjectURL(e),setTimeout(function(){s.revokeObjectURL(c.href)},4e4),setTimeout(function(){r(c)},0))}:"msSaveOrOpenBlob"in navigator?function(e,t,i){if(t=t||e.name||"download","string"!=typeof e)navigator.msSaveOrOpenBlob(function(e,t){return void 0===t?t={autoBom:!1}:"object"!=typeof t&&(console.warn("Deprecated: Expected third argument to be a object"),t={autoBom:!t}),t.autoBom&&/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(e.type)?new Blob(["\ufeff",e],{type:e.type}):e}(e,i),t);else if(o(e))n(e,t,i);else{var a=document.createElement("a");a.href=e,a.target="_blank",setTimeout(function(){r(a)})}}:function(e,t,o,r){if((r=r||open("","_blank"))&&(r.document.title=r.document.body.innerText="downloading..."),"string"==typeof e)return n(e,t,o);var a="application/octet-stream"===e.type,s=/constructor/i.test(i.HTMLElement)||i.safari,c=/CriOS\/[\d]+/.test(navigator.userAgent);if((c||a&&s)&&"object"==typeof FileReader){var l=new FileReader;l.onloadend=function(){var e=l.result;e=c?e:e.replace(/^data:[^;]*;/,"data:attachment/file;"),r?r.location.href=e:location=e,r=null},l.readAsDataURL(e)}else{var u=i.URL||i.webkitURL,h=u.createObjectURL(e);r?r.location=h:location.href=h,r=null,setTimeout(function(){u.revokeObjectURL(h)},4e4)}});i.saveAs=a.saveAs=a,e.exports=a})()}),i=L.Control.extend({options:{cropImageByInnerWH:!0,hidden:!1,domtoimageOptions:{},position:"topleft",screenName:"screen",iconUrl:"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iaXNvLTg4NTktMSI/PjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iQ2FwYV8xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCIgdmlld0JveD0iMCAwIDMyIDMyIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCAzMiAzMjsiIHhtbDpzcGFjZT0icHJlc2VydmUiPjxnPjxnIGlkPSJjYW1lcmEiPjxwYXRoIHN0eWxlPSJmaWxsOiMwMTAwMDI7IiBkPSJNMTYsOS41MDFjLTQuNDE5LDAtOCwzLjU4MS04LDhjMCw0LjQxOCwzLjU4MSw4LDgsOGM0LjQxOCwwLDgtMy41ODIsOC04UzIwLjQxOCw5LjUwMSwxNiw5LjUwMXogTTIwLjU1NSwyMS40MDZjLTIuMTU2LDIuNTE2LTUuOTQzLDIuODA3LTguNDU5LDAuNjVjLTIuNTE3LTIuMTU2LTIuODA3LTUuOTQ0LTAuNjUtOC40NTljMi4xNTUtMi41MTcsNS45NDMtMi44MDcsOC40NTktMC42NUMyMi40MiwxNS4xMDIsMjIuNzExLDE4Ljg5MSwyMC41NTUsMjEuNDA2eiIvPjxwYXRoIHN0eWxlPSJmaWxsOiMwMTAwMDI7IiBkPSJNMTYsMTMuNTAxYy0yLjIwOSwwLTMuOTk5LDEuNzkxLTQsMy45OTl2MC4wMDJjMCwwLjI3NSwwLjIyNCwwLjUsMC41LDAuNXMwLjUtMC4yMjUsMC41LTAuNVYxNy41YzAuMDAxLTEuNjU2LDEuMzQzLTIuOTk5LDMtMi45OTljMC4yNzYsMCwwLjUtMC4yMjQsMC41LTAuNVMxNi4yNzYsMTMuNTAxLDE2LDEzLjUwMXoiLz48cGF0aCBzdHlsZT0iZmlsbDojMDEwMDAyOyIgZD0iTTI5LjQ5Miw4LjU0MmwtNC4zMzQtMC43MjNsLTEuMzczLTMuNDM0QzIzLjMyNiwzLjI0LDIyLjIzMiwyLjUsMjEsMi41SDExYy0xLjIzMiwwLTIuMzI2LDAuNzQtMi43ODYsMS44ODZMNi44NDIsNy44MTlMMi41MDksOC41NDJDMS4wNTUsOC43ODMsMCwxMC4wMjcsMCwxMS41djE1YzAsMS42NTQsMS4zNDYsMywzLDNoMjZjMS42NTQsMCwzLTEuMzQ2LDMtM3YtMTVDMzIsMTAuMDI3LDMwLjk0NSw4Ljc4MywyOS40OTIsOC41NDJ6IE0zMCwyNi41YzAsMC41NTMtMC40NDcsMS0xLDFIM2MtMC41NTMsMC0xLTAuNDQ3LTEtMXYtMTVjMC0wLjQ4OSwwLjM1NC0wLjkwNiwwLjgzNi0wLjk4Nkw4LjI4LDkuNjA3bDEuNzkxLTQuNDc4QzEwLjIyNCw0Ljc1LDEwLjU5MSw0LjUsMTEsNC41aDEwYzAuNDA4LDAsMC43NzUsMC4yNDksMC45MjgsMC42MjlsMS43OTEsNC40NzhsNS40NDUsMC45MDdDMjkuNjQ2LDEwLjU5NCwzMCwxMS4wMTEsMzAsMTEuNVYyNi41eiIvPjwvZz48L2c+PGc+PC9nPjxnPjwvZz48Zz48L2c+PGc+PC9nPjxnPjwvZz48Zz48L2c+PGc+PC9nPjxnPjwvZz48Zz48L2c+PGc+PC9nPjxnPjwvZz48Zz48L2c+PGc+PC9nPjxnPjwvZz48Zz48L2c+PC9zdmc+",hideElementsWithSelectors:[".leaflet-control-container"],onCropBorderSize:2,caption:null,captionFontSize:15,captionFont:"Arial",captionColor:"black",captionBgColor:"white",captionOffset:5,mimeType:"image/png",debugMode:!1,preventDownload:!1,onPixelDataFail:function(e){var t=e.node,n=e.error;return console.warn("Map node is very big "+t.scrollWidth+"x"+t.scrollHeight),console.warn("Add function: SimpleMapScreenshoter({\n onPixelDataFail: function({ node, plugin, error, mapPane, domtoimageOptions }) {\n // Solutions:\n // decrease size of map\n // or decrease zoom level\n // or remove elements with big distanses\n // and after that return image in Promise - plugin._getPixelDataOfNormalMap\n return plugin._getPixelDataOfNormalMap(domtoimageOptions)\n }\n })"),Promise.reject(n)}},onAdd:function(){return this._container=L.DomUtil.create("div","leaflet-control-simpleMapScreenshoter"),this._link=null,this._screenState={status:1,promise:null},!1===this.options.hidden&&this._addScreenBtn(),this._onUserStartInteractWithMap=this._onUserStartInteractWithMap.bind(this),this._onUserEndInteractWithMap=this._onUserEndInteractWithMap.bind(this),this._map.on("zoomstart",this._onUserStartInteractWithMap),this._map.on("move",this._onUserStartInteractWithMap),this._map.on("zoomend",this._onUserEndInteractWithMap),this._map.on("moveend",this._onUserEndInteractWithMap),this._container},takeScreen:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"blob",n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},o={};for(var r in this.options)n.hasOwnProperty(r)?o[r]=n[r]:o[r]=this.options[r];return 2===this._screenState.status?this._screenState.promise:(this._map.fire("simpleMapScreenshoter.takeScreen"),this._screenState.status=2,this._setElementsVisible(!1),this._screenState.promise=this._waitEndOfInteractions().then(function(){return e._getPixelData(o)}).then(function(t){return e._setElementsVisible(!0),e._toCanvas(t,o)}).then(function(n){return"image"===t?e._canvasToImage(n,o):"canvas"===t?n:e._canvasToBlob(n,o)}).then(function(t){return e._screenState.status=1,e._map.fire("simpleMapScreenshoter.done"),t}).catch(function(t){return e._setElementsVisible(!0),e._screenState.status=1,e._map.fire("simpleMapScreenshoter.error",{e:t}),Promise.reject(t)}),this._screenState.promise)},_setElementsVisible:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]&&arguments[0];this.options.hideElementsWithSelectors.forEach(function(n){var o=e._map._container.querySelectorAll(n),r=!0,i=!1,a=void 0;try{for(var s,c=o[Symbol.iterator]();!(r=(s=c.next()).done);r=!0){s.value.style.opacity=!1===t?0:1}}catch(e){i=!0,a=e}finally{try{!r&&c.return&&c.return()}finally{if(i)throw a}}})},_canvasToImage:function(e,t){var n=t.mimeType,o=e.toDataURL(n);return-1===o.indexOf("base64")?Promise.reject(new Error("Base64 image generation error")):Promise.resolve(o)},_canvasToBlob:function(e,t){var n=t.mimeType;return new Promise(function(t,o){e.toBlob(function(e){t(e)},n)})},_toCanvas:function(e,t){var n=t.captionOffset,o=t.caption,r=t.captionFontSize,i=t.captionFont,a=t.captionColor,s=t.captionBgColor,c=this._node,l=c.screenHeight,u=c.screenWidth,h=document.createElement("canvas");h.width=u,h.height=l;for(var f=h.getContext("2d"),d=f.createImageData(u,l),p=0;p<e.length;++p)d.data[p]=e[p];f.putImageData(d,0,0),d=null;var m=document.createElement("canvas"),g=m.getContext("2d"),w=0,M=0,y=l,v=u;if(!0===this.options.cropImageByInnerWH){for(var L=[],b=0,P=0;P<l;++P){b=0;for(var x=0;x<u;++x)0===e[4*P*u+4*x+4]&&b++;b===u&&L.push(P)}var S=this._getMinAndMaxOnValuesBreak(L);w=S.min;for(var C=u,T=S.max,j=[],D=0,E=M;E<C;++E){D=0;for(var N=0;N<l;++N)0===e[4*N*u+4*E+4]&&D++;D===l&&j.push(E)}var I=this._getMinAndMaxOnValuesBreak(j);M=I.min,C=I.max,(0===M&&0===C||null===C)&&(C=u),(0===w&&0===T||null===T)&&(T=l),!0===this.options.debugMode&&(console.log("emptyYLine",L),console.log("minMaxY",S),console.log("emptyXLine",j),console.log("minMaxX",I),console.log("debugX",{}),console.log("debugY",{})),0===w&&T===l&&0===M&&C===u||(w+=this.options.onCropBorderSize,T-=this.options.onCropBorderSize,M+=this.options.onCropBorderSize,C-=this.options.onCropBorderSize),y=T-w,v=C-M,m.width=v,m.height=y}else m.width=v,m.height=y;var A=null;return o&&(A="function"==typeof o?o.call(this):o),null!==A&&(m.height=m.height+(n+r+n),g.beginPath(),g.rect(0,0,m.width,m.height),g.fillStyle=s,g.fill(),g.save()),g.drawImage(h,M,w,v,y,0,0,v,y),null!==A&&(g.font=r+"px "+i,g.fillStyle=a,g.fillText(A,n,y+n+r)),Promise.resolve(m)},_getMinAndMaxOnValuesBreak:function(e){for(var t=0,n=0,o=!1,r=1;r<e.length;r++){if(e[r]-1!==e[r-1]){n=e[r],o=!0;break}t=e[r]}return!1===o&&e[0]>1?(t=0,n=e[0]):!1===o&&(t=e[e.length-1]||0,n=null),{min:t,max:n}},_getPixelData:function(e){var t=this,n=e.domtoimageOptions,o=void 0===n?{}:n;return this._getPixelDataOfNormalMap(o).catch(function(e){return console.warn("May be map size very big on that zoom level, we have error:",e.toString()),console.warn("You can manually hide map elements with large distances between them for fix that warn"),t._getPixelDataOfBigMap(o)})},_getPixelDataOfNormalMap:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=this._map.getContainer();return this._node={node:t,screenHeight:t.scrollHeight,screenWidth:t.scrollWidth},o.toPixelData(t,e)},_getPixelDataOfBigMap:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=this._map.getContainer(),r=this._map.getPane("mapPane");r.style.width=2*n.clientWidth+"px",r.style.height=2*n.clientHeight+"px",r.style.overflow="hidden";var i=function(){r.style.width="initial",r.style.height="initial",r.style.overflow="initial"};return this._node={node:n,screenHeight:n.scrollHeight,screenWidth:n.scrollWidth},o.toPixelData(n,t).then(function(e){return i(),e}).catch(function(o){return i(),n.scrollHeight>=4e3||n.scrollWidth>=4e3?e.options.onPixelDataFail({plugin:e,node:n,mapPane:r,error:o,domtoimageOptions:t}):Promise.reject(o)})},_addScreenBtn:function(){this._link=L.DomUtil.create("a","leaflet-control-simpleMapScreenshoter-btn",this._container),this._addCss(),L.DomEvent.addListener(this._link,"click",this._onScreenBtn,this),L.DomEvent.disableClickPropagation(this._link)},_addCss:function(){var e="\n .leaflet-control-simpleMapScreenshoter{\n border: 2px solid rgba(0,0,0,0.2);\n background-clip: padding-box;\n }\n .leaflet-control-simpleMapScreenshoter a{\n background-color: #fff;\n border-bottom: 1px solid #ccc;\n width: 30px;\n height: 30px;\n line-height: 30px;\n display: block;\n text-align: center;\n text-decoration: none;\n color: black;\n overflow: hidden;\n border-radius: 2px;\n background-image: url('"+this.options.iconUrl+"');\n background-position: 46% 41%;\n background-repeat: no-repeat;\n background-size: 63%;\n }\n .leaflet-control-simpleMapScreenshoter a:hover{\n cursor: pointer;\n }\n ",t=document.head||document.getElementsByTagName("head")[0],n=document.createElement("style");n.appendChild(document.createTextNode(e)),t.appendChild(n)},_onScreenBtn:function(){var e=this;this._map.fire("simpleMapScreenshoter.click"),this.options.preventDownload||this.takeScreen().then(function(t){var n="function"==typeof e.options.screenName?e.options.screenName.call(e):e.options.screenName;r.saveAs(t,n+".png")}).catch(function(t){e._map.fire("simpleMapScreenshoter.error",{e:t})})},_onUserStartInteractWithMap:function(){this._interaction=!0},_onUserEndInteractWithMap:function(){this._interaction=!1},_waitEndOfInteractions:function(){var e=this;return new Promise(function(t){var n=setInterval(function(){e._interaction||(t(),clearInterval(n))},100)})}}),a=(L.Control.SimpleMapScreenshoter=i,L.simpleMapScreenshoter=function(e){return new L.Control.SimpleMapScreenshoter(e)},i);e.default=a,e.SimpleMapScreenshoter=i,Object.defineProperty(e,"__esModule",{value:!0})});
14231
+ !function(e,t){ true?t(exports):0}(this,function(e){"use strict";var t="undefined"!=typeof window?window:"undefined"!=typeof __webpack_require__.g?__webpack_require__.g:"undefined"!=typeof self?self:{};function n(e,t){return e(t={exports:{}},t.exports),t.exports}var o=n(function(e,n){!function(t){const n={escape:function(e){return e.replace(/([.*+?^${}()|\[\]\/\\])/g,"\\$1")},parseExtension:o,mimeType:function(e){return e=o(e).toLowerCase(),function(){var e="application/font-woff",t="image/jpeg";return{woff:e,woff2:e,ttf:"application/font-truetype",eot:"application/vnd.ms-fontobject",png:"image/png",jpg:t,jpeg:t,gif:"image/gif",tiff:"image/tiff",svg:"image/svg+xml"}}()[e]||""},dataAsUrl:function(e,t){return`data:${t};base64,`+e},isDataUrl:function(e){return-1!==e.search(/^(data:)/)},canvasToBlob:function(e){return e.toBlob?new Promise(function(t){e.toBlob(t)}):(t=e,new Promise(function(e){const n=d(t.toDataURL().split(",")[1]);var o=n.length;const r=new Uint8Array(o);for(let e=0;e<o;e++)r[e]=n.charCodeAt(e);e(new Blob([r],{type:"image/png"}))}));// removed by dead control flow
14232
+ var t; },resolveUrl:function(e,t){const n=document.implementation.createHTMLDocument(),o=n.createElement("base"),r=(n.head.appendChild(o),n.createElement("a"));return n.body.appendChild(r),o.href=t,r.href=e,r.href},getAndEncode:function(e){let t=h.impl.urlCache.find(function(t){return t.url===e});return t||(t={url:e,promise:null},h.impl.urlCache.push(t)),null===t.promise&&(h.impl.options.cacheBust&&(e+=(/\?/.test(e)?"&":"?")+(new Date).getTime()),t.promise=new Promise(function(t){const n=h.impl.options.httpTimeout,o=new XMLHttpRequest;let r;var i;function a(e){console.error(e),t("")}o.onreadystatechange=function(){if(4===o.readyState)if(200!==o.status)r?t(r):a(`cannot fetch resource: ${e}, status: `+o.status);else{const e=new FileReader;e.onloadend=function(){var n=e.result.split(/,/)[1];t(n)},e.readAsDataURL(o.response)}},o.ontimeout=function(){r?t(r):a(`timeout of ${n}ms occured while fetching resource: `+e)},o.responseType="blob",o.timeout=n,h.impl.options.useCredentials&&(o.withCredentials=!0),o.open("GET",e,!0),o.send(),h.impl.options.imagePlaceholder&&(i=h.impl.options.imagePlaceholder.split(/,/))&&i[1]&&(r=i[1])})),t.promise},uid:function(){let e=0;return function(){return"u"+("0000"+(Math.random()*Math.pow(36,4)<<0).toString(36)).slice(-4)+e++}}(),delay:function(e){return function(t){return new Promise(function(n){setTimeout(function(){n(t)},e)})}},asArray:function(e){const t=[],n=e.length;for(let o=0;o<n;o++)t.push(e[o]);return t},escapeXhtml:function(e){return e.replace(/%/g,"%25").replace(/#/g,"%23").replace(/\n/g,"%0A")},makeImage:function(e){return"data:,"!==e?new Promise(function(t,n){const o=new Image;h.impl.options.useCredentials&&(o.crossOrigin="use-credentials"),o.onload=function(){t(o)},o.onerror=n,o.src=e}):Promise.resolve()},width:function(e){var t=r(e,"border-left-width"),n=r(e,"border-right-width");return e.scrollWidth+t+n},height:function(e){var t=r(e,"border-top-width"),n=r(e,"border-bottom-width");return e.scrollHeight+t+n}};function o(e){return(e=/\.([^\.\/]*?)(\?|$)/g.exec(e))?e[1]:""}function r(e,t){const n=f(e).getPropertyValue(t);return parseFloat(n.replace("px",""))}const i=function(){const e=/url\(['"]?([^'"]+?)['"]?\)/g;return{inlineAll:function(e,n,i){return t(e)?Promise.resolve(e).then(o).then(function(t){let o=Promise.resolve(e);return t.forEach(function(e){o=o.then(function(t){return r(t,e,n,i)})}),o}):Promise.resolve(e)},shouldProcess:t,impl:{readUrls:o,inline:r}};function t(t){return-1!==t.search(e)}function o(t){const o=[];for(var r;null!==(r=e.exec(t));)o.push(r[1]);return o.filter(function(e){return!n.isDataUrl(e)})}function r(e,t,o,r){return Promise.resolve(t).then(function(e){return o?n.resolveUrl(e,o):e}).then(r||n.getAndEncode).then(function(e){return n.dataAsUrl(e,n.mimeType(t))}).then(function(o){return e.replace((r=t,new RegExp(`(url\\(['"]?)(${n.escape(r)})(['"]?\\))`,"g")),`$1${o}$3`);// removed by dead control flow
14233
+ var r; })}}(),a={resolveAll:function(){return s().then(function(e){return Promise.all(e.map(function(e){return e.resolve()}))}).then(function(e){return e.join("\n")})},impl:{readAll:s}};function s(){return Promise.resolve(n.asArray(document.styleSheets)).then(function(e){const t=[];return e.forEach(function(e){if(Object.getPrototypeOf(e).hasOwnProperty("cssRules"))try{n.asArray(e.cssRules||[]).forEach(t.push.bind(t))}catch(t){console.log("Error while reading CSS rules from "+e.href,t.toString())}}),t}).then(function(e){return e.filter(function(e){return e.type===CSSRule.FONT_FACE_RULE}).filter(function(e){return i.shouldProcess(e.style.getPropertyValue("src"))})}).then(function(t){return t.map(e)});function e(e){return{resolve:function(){var t=(e.parentStyleSheet||{}).href;return i.inlineAll(e.cssText,t)},src:function(){return e.style.getPropertyValue("src")}}}}const c={inlineAll:function e(t){return t instanceof Element?function(e){const t=e.style.getPropertyValue("background");return t?i.inlineAll(t).then(function(n){e.style.setProperty("background",n,t)}).then(function(){return e}):Promise.resolve(e)}(t).then(function(){return t instanceof HTMLImageElement?l(t).inline():Promise.all(n.asArray(t.childNodes).map(function(t){return e(t)}))}):Promise.resolve(t)},impl:{newImage:l}};function l(e){return{inline:function(t){return n.isDataUrl(e.src)?Promise.resolve():Promise.resolve(e.src).then(t||n.getAndEncode).then(function(t){return n.dataAsUrl(t,n.mimeType(e.src))}).then(function(t){return new Promise(function(n){e.onload=n,e.onerror=n,e.src=t})})}}}const u={imagePlaceholder:void 0,cacheBust:!1,useCredentials:!1,httpTimeout:3e4},h={toSvg:p,toPng:function(e,t){return(t=t||{}).raster=!0,m(e,t).then(function(e){return e.toDataURL()})},toJpeg:function(e,t){return(t=t||{}).raster=!0,m(e,t).then(function(e){return e.toDataURL("image/jpeg",t.quality||1)})},toBlob:function(e,t){return(t=t||{}).raster=!0,m(e,t).then(n.canvasToBlob)},toPixelData:function(e,t){return(t=t||{}).raster=!0,m(e,t).then(function(t){return t.getContext("2d").getImageData(0,0,n.width(e),n.height(e)).data})},toCanvas:function(e,t){return(t=t||{}).raster=!0,m(e,t||{})},impl:{fontFaces:a,images:c,util:n,inliner:i,urlCache:[],options:{}}},f=(e.exports=h,t.getComputedStyle||window.getComputedStyle),d=t.atob||window.atob;function p(e,t){var o=t=t||{};return void 0===o.imagePlaceholder?h.impl.options.imagePlaceholder=u.imagePlaceholder:h.impl.options.imagePlaceholder=o.imagePlaceholder,void 0===o.cacheBust?h.impl.options.cacheBust=u.cacheBust:h.impl.options.cacheBust=o.cacheBust,void 0===o.useCredentials?h.impl.options.useCredentials=u.useCredentials:h.impl.options.useCredentials=o.useCredentials,Promise.resolve(e).then(function(e){return function e(t,o,r,i,a=null){return r||!o||o(t)?Promise.resolve(t).then(function(e){return e instanceof HTMLCanvasElement?n.makeImage(e.toDataURL()):"IFRAME"===e.nodeName?html2canvas(e.contentDocument.body).then(e=>e.toDataURL()).then(n.makeImage):e.cloneNode(!1)}).then(function(r){return function(t,r){const a=t.childNodes;return 0===a.length?Promise.resolve(r):function(n,r){const a=f(t);let s=Promise.resolve();return r.forEach(function(t){s=s.then(function(){return e(t,o,!1,i,a)}).then(function(e){e&&n.appendChild(e)})}),s}(r,n.asArray(a)).then(function(){return r})}(t,r)}).then(function(e){return function(e,t,o){return t instanceof Element?Promise.resolve().then(function(){!function(e,t){const i=f(e);i.cssText?(t.style.cssText=i.cssText,function(e,t){t.font=e.font,t.fontFamily=e.fontFamily,t.fontFeatureSettings=e.fontFeatureSettings,t.fontKerning=e.fontKerning,t.fontSize=e.fontSize,t.fontStretch=e.fontStretch,t.fontStyle=e.fontStyle,t.fontVariant=e.fontVariant,t.fontVariantCaps=e.fontVariantCaps,t.fontVariantEastAsian=e.fontVariantEastAsian,t.fontVariantLigatures=e.fontVariantLigatures,t.fontVariantNumeric=e.fontVariantNumeric,t.fontVariationSettings=e.fontVariationSettings,t.fontWeight=e.fontWeight}(i,t.style)):(o?function(e,t,n,o){const r=n.style,i=e.style;for(var a of t){var s=t.getPropertyValue(a),c=i.getPropertyValue(a),l=(i.setProperty(a,o?"initial":"unset"),t.getPropertyValue(a));l!==s?r.setProperty(a,s):r.removeProperty(a),i.setProperty(a,c)}}(e,i,t,r):function(e,t,o){const r=function(e){if(v[e])return v[e];y||((y=document.createElement("iframe")).style.visibility="hidden",y.style.position="fixed",document.body.appendChild(y),y.contentWindow.document.write('<!DOCTYPE html><meta charset="UTF-8"><title>sandbox</title><body>'));const t=document.createElement(e),o=(y.contentWindow.document.body.appendChild(t),t.textContent=".",y.contentWindow.getComputedStyle(t)),r={};return n.asArray(o).forEach(function(e){r[e]="width"===e||"height"===e?"auto":o.getPropertyValue(e)}),y.contentWindow.document.body.removeChild(t),v[e]=r}(o.tagName),i=o.style;n.asArray(e).forEach(function(n){var o=e.getPropertyValue(n);(o!==r[n]||t&&o!==t.getPropertyValue(n))&&i.setProperty(n,o,e.getPropertyPriority(n))})}(i,a,t),r&&(["inset-block","inset-block-start","inset-block-end"].forEach(e=>t.style.removeProperty(e)),["left","right","top","bottom"].forEach(e=>{t.style.getPropertyValue(e)&&t.style.setProperty(e,"0px")})))}(e,t)}).then(function(){[":before",":after"].forEach(function(o){!function(o){const r=f(e,o),i=r.getPropertyValue("content");if(""!==i&&"none"!==i){const e=n.uid(),i=t.getAttribute("class"),a=(i&&t.setAttribute("class",i+" "+e),document.createElement("style"));a.appendChild(function(){const t=`.${e}:`+o,i=(r.cssText?function(){return`${r.cssText} content: ${r.getPropertyValue("content")};`}:function(){return n.asArray(r).map(function(e){return e+": "+r.getPropertyValue(e)+(r.getPropertyPriority(e)?" !important":"")}).join("; ")+";"})();return document.createTextNode(t+`{${i}}`)}()),t.appendChild(a)}}(o)})}).then(function(){e instanceof HTMLTextAreaElement&&(t.innerHTML=e.value),e instanceof HTMLInputElement&&t.setAttribute("value",e.value)}).then(function(){t instanceof SVGElement&&(t.setAttribute("xmlns","http://www.w3.org/2000/svg"),t instanceof SVGRectElement&&["width","height"].forEach(function(e){const n=t.getAttribute(e);n&&t.style.setProperty(e,n)}))}).then(function(){return t}):t}(t,e,i)}):Promise.resolve()}(e,t.filter,!0,!t.raster)}).then(g).then(w).then(function(e){t.bgcolor&&(e.style.backgroundColor=t.bgcolor),t.width&&(e.style.width=t.width+"px"),t.height&&(e.style.height=t.height+"px"),t.style&&Object.keys(t.style).forEach(function(n){e.style[n]=t.style[n]});let n=null;return"function"==typeof t.onclone&&(n=t.onclone(e)),Promise.resolve(n).then(function(){return e})}).then(function(o){return o=o,r=t.width||n.width(e),i=t.height||n.height(e),Promise.resolve(o).then(function(e){return e.setAttribute("xmlns","http://www.w3.org/1999/xhtml"),(new XMLSerializer).serializeToString(e)}).then(n.escapeXhtml).then(function(e){return`<foreignObject x="0" y="0" width="100%" height="100%">${e}</foreignObject>`}).then(function(e){return`<svg xmlns="http://www.w3.org/2000/svg" width="${r}" height="${i}">${e}</svg>`}).then(function(e){return"data:image/svg+xml;charset=utf-8,"+e});// removed by dead control flow
14234
+ var r, i; }).then(function(e){return h.impl.urlCache=[],e})}function m(e,t){return p(e,t).then(n.makeImage).then(n.delay(0)).then(function(o){var r="number"!=typeof t.scale?1:t.scale;const i=function(e,o){const r=document.createElement("canvas");if(r.width=(t.width||n.width(e))*o,r.height=(t.height||n.height(e))*o,t.bgcolor){const e=r.getContext("2d");e.fillStyle=t.bgcolor,e.fillRect(0,0,r.width,r.height)}return r}(e,r),a=i.getContext("2d");return a.mozImageSmoothingEnabled=!1,a.msImageSmoothingEnabled=!1,a.imageSmoothingEnabled=!1,o&&(a.scale(r,r),a.drawImage(o,0,0)),y&&(document.body.removeChild(y),y=null,M&&clearTimeout(M),M=setTimeout(()=>{M=null,v={}},2e4)),i})}function g(e){return a.resolveAll().then(function(t){const n=document.createElement("style");return e.appendChild(n),n.appendChild(document.createTextNode(t)),e})}function w(e){return c.inlineAll(e).then(function(){return e})}let M=null,y=null,v={}}(t)}),r=n(function(e,n){(function(){function n(e,t,n){var o=new XMLHttpRequest;o.open("GET",e),o.responseType="blob",o.onload=function(){a(o.response,t,n)},o.onerror=function(){console.error("could not download file")},o.send()}function o(e){var t=new XMLHttpRequest;t.open("HEAD",e,!1);try{t.send()}catch(e){}return 200<=t.status&&299>=t.status}function r(e){try{e.dispatchEvent(new MouseEvent("click"))}catch(n){var t=document.createEvent("MouseEvents");t.initMouseEvent("click",!0,!0,window,0,0,0,80,20,!1,!1,!1,!1,0,null),e.dispatchEvent(t)}}var i="object"==typeof window&&window.window===window?window:"object"==typeof self&&self.self===self?self:"object"==typeof t&&t.global===t?t:void 0,a=i.saveAs||("object"!=typeof window||window!==i?function(){}:"download"in HTMLAnchorElement.prototype?function(e,t,a){var s=i.URL||i.webkitURL,c=document.createElement("a");t=t||e.name||"download",c.download=t,c.rel="noopener","string"==typeof e?(c.href=e,c.origin===location.origin?r(c):o(c.href)?n(e,t,a):r(c,c.target="_blank")):(c.href=s.createObjectURL(e),setTimeout(function(){s.revokeObjectURL(c.href)},4e4),setTimeout(function(){r(c)},0))}:"msSaveOrOpenBlob"in navigator?function(e,t,i){if(t=t||e.name||"download","string"!=typeof e)navigator.msSaveOrOpenBlob(function(e,t){return void 0===t?t={autoBom:!1}:"object"!=typeof t&&(console.warn("Deprecated: Expected third argument to be a object"),t={autoBom:!t}),t.autoBom&&/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(e.type)?new Blob(["\ufeff",e],{type:e.type}):e}(e,i),t);else if(o(e))n(e,t,i);else{var a=document.createElement("a");a.href=e,a.target="_blank",setTimeout(function(){r(a)})}}:function(e,t,o,r){if((r=r||open("","_blank"))&&(r.document.title=r.document.body.innerText="downloading..."),"string"==typeof e)return n(e,t,o);var a="application/octet-stream"===e.type,s=/constructor/i.test(i.HTMLElement)||i.safari,c=/CriOS\/[\d]+/.test(navigator.userAgent);if((c||a&&s)&&"object"==typeof FileReader){var l=new FileReader;l.onloadend=function(){var e=l.result;e=c?e:e.replace(/^data:[^;]*;/,"data:attachment/file;"),r?r.location.href=e:location=e,r=null},l.readAsDataURL(e)}else{var u=i.URL||i.webkitURL,h=u.createObjectURL(e);r?r.location=h:location.href=h,r=null,setTimeout(function(){u.revokeObjectURL(h)},4e4)}});i.saveAs=a.saveAs=a,e.exports=a})()}),i=L.Control.extend({options:{cropImageByInnerWH:!0,hidden:!1,domtoimageOptions:{},position:"topleft",screenName:"screen",iconUrl:"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iaXNvLTg4NTktMSI/PjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iQ2FwYV8xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCIgdmlld0JveD0iMCAwIDMyIDMyIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCAzMiAzMjsiIHhtbDpzcGFjZT0icHJlc2VydmUiPjxnPjxnIGlkPSJjYW1lcmEiPjxwYXRoIHN0eWxlPSJmaWxsOiMwMTAwMDI7IiBkPSJNMTYsOS41MDFjLTQuNDE5LDAtOCwzLjU4MS04LDhjMCw0LjQxOCwzLjU4MSw4LDgsOGM0LjQxOCwwLDgtMy41ODIsOC04UzIwLjQxOCw5LjUwMSwxNiw5LjUwMXogTTIwLjU1NSwyMS40MDZjLTIuMTU2LDIuNTE2LTUuOTQzLDIuODA3LTguNDU5LDAuNjVjLTIuNTE3LTIuMTU2LTIuODA3LTUuOTQ0LTAuNjUtOC40NTljMi4xNTUtMi41MTcsNS45NDMtMi44MDcsOC40NTktMC42NUMyMi40MiwxNS4xMDIsMjIuNzExLDE4Ljg5MSwyMC41NTUsMjEuNDA2eiIvPjxwYXRoIHN0eWxlPSJmaWxsOiMwMTAwMDI7IiBkPSJNMTYsMTMuNTAxYy0yLjIwOSwwLTMuOTk5LDEuNzkxLTQsMy45OTl2MC4wMDJjMCwwLjI3NSwwLjIyNCwwLjUsMC41LDAuNXMwLjUtMC4yMjUsMC41LTAuNVYxNy41YzAuMDAxLTEuNjU2LDEuMzQzLTIuOTk5LDMtMi45OTljMC4yNzYsMCwwLjUtMC4yMjQsMC41LTAuNVMxNi4yNzYsMTMuNTAxLDE2LDEzLjUwMXoiLz48cGF0aCBzdHlsZT0iZmlsbDojMDEwMDAyOyIgZD0iTTI5LjQ5Miw4LjU0MmwtNC4zMzQtMC43MjNsLTEuMzczLTMuNDM0QzIzLjMyNiwzLjI0LDIyLjIzMiwyLjUsMjEsMi41SDExYy0xLjIzMiwwLTIuMzI2LDAuNzQtMi43ODYsMS44ODZMNi44NDIsNy44MTlMMi41MDksOC41NDJDMS4wNTUsOC43ODMsMCwxMC4wMjcsMCwxMS41djE1YzAsMS42NTQsMS4zNDYsMywzLDNoMjZjMS42NTQsMCwzLTEuMzQ2LDMtM3YtMTVDMzIsMTAuMDI3LDMwLjk0NSw4Ljc4MywyOS40OTIsOC41NDJ6IE0zMCwyNi41YzAsMC41NTMtMC40NDcsMS0xLDFIM2MtMC41NTMsMC0xLTAuNDQ3LTEtMXYtMTVjMC0wLjQ4OSwwLjM1NC0wLjkwNiwwLjgzNi0wLjk4Nkw4LjI4LDkuNjA3bDEuNzkxLTQuNDc4QzEwLjIyNCw0Ljc1LDEwLjU5MSw0LjUsMTEsNC41aDEwYzAuNDA4LDAsMC43NzUsMC4yNDksMC45MjgsMC42MjlsMS43OTEsNC40NzhsNS40NDUsMC45MDdDMjkuNjQ2LDEwLjU5NCwzMCwxMS4wMTEsMzAsMTEuNVYyNi41eiIvPjwvZz48L2c+PGc+PC9nPjxnPjwvZz48Zz48L2c+PGc+PC9nPjxnPjwvZz48Zz48L2c+PGc+PC9nPjxnPjwvZz48Zz48L2c+PGc+PC9nPjxnPjwvZz48Zz48L2c+PGc+PC9nPjxnPjwvZz48Zz48L2c+PC9zdmc+",hideElementsWithSelectors:[".leaflet-control-container"],onCropBorderSize:2,caption:null,captionFontSize:15,captionFont:"Arial",captionColor:"black",captionBgColor:"white",captionOffset:5,mimeType:"image/png",debugMode:!1,preventDownload:!1,onPixelDataFail:function(e){var t=e.node,n=e.error;return console.warn("Map node is very big "+t.scrollWidth+"x"+t.scrollHeight),console.warn("Add function: SimpleMapScreenshoter({\n onPixelDataFail: function({ node, plugin, error, mapPane, domtoimageOptions }) {\n // Solutions:\n // decrease size of map\n // or decrease zoom level\n // or remove elements with big distanses\n // and after that return image in Promise - plugin._getPixelDataOfNormalMap\n return plugin._getPixelDataOfNormalMap(domtoimageOptions)\n }\n })"),Promise.reject(n)}},onAdd:function(){return this._container=L.DomUtil.create("div","leaflet-control-simpleMapScreenshoter"),this._link=null,this._screenState={status:1,promise:null},!1===this.options.hidden&&this._addScreenBtn(),this._onUserStartInteractWithMap=this._onUserStartInteractWithMap.bind(this),this._onUserEndInteractWithMap=this._onUserEndInteractWithMap.bind(this),this._map.on("zoomstart",this._onUserStartInteractWithMap),this._map.on("move",this._onUserStartInteractWithMap),this._map.on("zoomend",this._onUserEndInteractWithMap),this._map.on("moveend",this._onUserEndInteractWithMap),this._container},takeScreen:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"blob",n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},o={};for(var r in this.options)n.hasOwnProperty(r)?o[r]=n[r]:o[r]=this.options[r];return 2===this._screenState.status?this._screenState.promise:(this._map.fire("simpleMapScreenshoter.takeScreen"),this._screenState.status=2,this._setElementsVisible(!1),this._screenState.promise=this._waitEndOfInteractions().then(function(){return e._getPixelData(o)}).then(function(t){return e._setElementsVisible(!0),e._toCanvas(t,o)}).then(function(n){return"image"===t?e._canvasToImage(n,o):"canvas"===t?n:e._canvasToBlob(n,o)}).then(function(t){return e._screenState.status=1,e._map.fire("simpleMapScreenshoter.done"),t}).catch(function(t){return e._setElementsVisible(!0),e._screenState.status=1,e._map.fire("simpleMapScreenshoter.error",{e:t}),Promise.reject(t)}),this._screenState.promise)},_setElementsVisible:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]&&arguments[0];this.options.hideElementsWithSelectors.forEach(function(n){var o=e._map._container.querySelectorAll(n),r=!0,i=!1,a=void 0;try{for(var s,c=o[Symbol.iterator]();!(r=(s=c.next()).done);r=!0){s.value.style.opacity=!1===t?0:1}}catch(e){i=!0,a=e}finally{try{!r&&c.return&&c.return()}finally{if(i)throw a}}})},_canvasToImage:function(e,t){var n=t.mimeType,o=e.toDataURL(n);return-1===o.indexOf("base64")?Promise.reject(new Error("Base64 image generation error")):Promise.resolve(o)},_canvasToBlob:function(e,t){var n=t.mimeType;return new Promise(function(t,o){e.toBlob(function(e){t(e)},n)})},_toCanvas:function(e,t){var n=t.captionOffset,o=t.caption,r=t.captionFontSize,i=t.captionFont,a=t.captionColor,s=t.captionBgColor,c=this._node,l=c.screenHeight,u=c.screenWidth,h=document.createElement("canvas");h.width=u,h.height=l;for(var f=h.getContext("2d"),d=f.createImageData(u,l),p=0;p<e.length;++p)d.data[p]=e[p];f.putImageData(d,0,0),d=null;var m=document.createElement("canvas"),g=m.getContext("2d"),w=0,M=0,y=l,v=u;if(!0===this.options.cropImageByInnerWH){for(var L=[],b=0,P=0;P<l;++P){b=0;for(var x=0;x<u;++x)0===e[4*P*u+4*x+4]&&b++;b===u&&L.push(P)}var S=this._getMinAndMaxOnValuesBreak(L);w=S.min;for(var C=u,T=S.max,j=[],D=0,E=M;E<C;++E){D=0;for(var N=0;N<l;++N)0===e[4*N*u+4*E+4]&&D++;D===l&&j.push(E)}var I=this._getMinAndMaxOnValuesBreak(j);M=I.min,C=I.max,(0===M&&0===C||null===C)&&(C=u),(0===w&&0===T||null===T)&&(T=l),!0===this.options.debugMode&&(console.log("emptyYLine",L),console.log("minMaxY",S),console.log("emptyXLine",j),console.log("minMaxX",I),console.log("debugX",{}),console.log("debugY",{})),0===w&&T===l&&0===M&&C===u||(w+=this.options.onCropBorderSize,T-=this.options.onCropBorderSize,M+=this.options.onCropBorderSize,C-=this.options.onCropBorderSize),y=T-w,v=C-M,m.width=v,m.height=y}else m.width=v,m.height=y;var A=null;return o&&(A="function"==typeof o?o.call(this):o),null!==A&&(m.height=m.height+(n+r+n),g.beginPath(),g.rect(0,0,m.width,m.height),g.fillStyle=s,g.fill(),g.save()),g.drawImage(h,M,w,v,y,0,0,v,y),null!==A&&(g.font=r+"px "+i,g.fillStyle=a,g.fillText(A,n,y+n+r)),Promise.resolve(m)},_getMinAndMaxOnValuesBreak:function(e){for(var t=0,n=0,o=!1,r=1;r<e.length;r++){if(e[r]-1!==e[r-1]){n=e[r],o=!0;break}t=e[r]}return!1===o&&e[0]>1?(t=0,n=e[0]):!1===o&&(t=e[e.length-1]||0,n=null),{min:t,max:n}},_getPixelData:function(e){var t=this,n=e.domtoimageOptions,o=void 0===n?{}:n;return this._getPixelDataOfNormalMap(o).catch(function(e){return console.warn("May be map size very big on that zoom level, we have error:",e.toString()),console.warn("You can manually hide map elements with large distances between them for fix that warn"),t._getPixelDataOfBigMap(o)})},_getPixelDataOfNormalMap:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=this._map.getContainer();return this._node={node:t,screenHeight:t.scrollHeight,screenWidth:t.scrollWidth},o.toPixelData(t,e)},_getPixelDataOfBigMap:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=this._map.getContainer(),r=this._map.getPane("mapPane");r.style.width=2*n.clientWidth+"px",r.style.height=2*n.clientHeight+"px",r.style.overflow="hidden";var i=function(){r.style.width="initial",r.style.height="initial",r.style.overflow="initial"};return this._node={node:n,screenHeight:n.scrollHeight,screenWidth:n.scrollWidth},o.toPixelData(n,t).then(function(e){return i(),e}).catch(function(o){return i(),n.scrollHeight>=4e3||n.scrollWidth>=4e3?e.options.onPixelDataFail({plugin:e,node:n,mapPane:r,error:o,domtoimageOptions:t}):Promise.reject(o)})},_addScreenBtn:function(){this._link=L.DomUtil.create("a","leaflet-control-simpleMapScreenshoter-btn",this._container),this._addCss(),L.DomEvent.addListener(this._link,"click",this._onScreenBtn,this),L.DomEvent.disableClickPropagation(this._link)},_addCss:function(){var e="\n .leaflet-control-simpleMapScreenshoter{\n border: 2px solid rgba(0,0,0,0.2);\n background-clip: padding-box;\n }\n .leaflet-control-simpleMapScreenshoter a{\n background-color: #fff;\n border-bottom: 1px solid #ccc;\n width: 30px;\n height: 30px;\n line-height: 30px;\n display: block;\n text-align: center;\n text-decoration: none;\n color: black;\n overflow: hidden;\n border-radius: 2px;\n background-image: url('"+this.options.iconUrl+"');\n background-position: 46% 41%;\n background-repeat: no-repeat;\n background-size: 63%;\n }\n .leaflet-control-simpleMapScreenshoter a:hover{\n cursor: pointer;\n }\n ",t=document.head||document.getElementsByTagName("head")[0],n=document.createElement("style");n.appendChild(document.createTextNode(e)),t.appendChild(n)},_onScreenBtn:function(){var e=this;this._map.fire("simpleMapScreenshoter.click"),this.options.preventDownload||this.takeScreen().then(function(t){var n="function"==typeof e.options.screenName?e.options.screenName.call(e):e.options.screenName;r.saveAs(t,n+".png")}).catch(function(t){e._map.fire("simpleMapScreenshoter.error",{e:t})})},_onUserStartInteractWithMap:function(){this._interaction=!0},_onUserEndInteractWithMap:function(){this._interaction=!1},_waitEndOfInteractions:function(){var e=this;return new Promise(function(t){var n=setInterval(function(){e._interaction||(t(),clearInterval(n))},100)})}}),a=(L.Control.SimpleMapScreenshoter=i,L.simpleMapScreenshoter=function(e){return new L.Control.SimpleMapScreenshoter(e)},i);e.default=a,e.SimpleMapScreenshoter=i,Object.defineProperty(e,"__esModule",{value:!0})});
14081
14235
  //# sourceMappingURL=leaflet-simple-map-screenshoter.js.map
14082
14236
 
14083
14237
 
@@ -14481,8 +14635,8 @@ var __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _argume
14481
14635
  });
14482
14636
  };
14483
14637
  var __generator = (undefined && undefined.__generator) || function (thisArg, body) {
14484
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
14485
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14638
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
14639
+ return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14486
14640
  function verb(n) { return function (v) { return step([n, v]); }; }
14487
14641
  function step(op) {
14488
14642
  if (f) throw new TypeError("Generator is already executing.");
@@ -14594,6 +14748,27 @@ var LeafletMap = /** @class */ (function () {
14594
14748
  var latlng = this.leaflet.CRS.Simple.unproject(worldCoordinateNewCenter);
14595
14749
  return [latlng.lat, latlng.lng];
14596
14750
  };
14751
+ LeafletMap.prototype.getBounds = function () {
14752
+ var bounds = this.map.getBounds();
14753
+ return [
14754
+ [bounds.getSouth(), bounds.getWest()],
14755
+ [bounds.getNorth(), bounds.getEast()],
14756
+ ];
14757
+ };
14758
+ LeafletMap.prototype.fitBoundsCoordinates = function (sw, ne, maxZoom) {
14759
+ var bounds = [[sw[0], sw[1]], [ne[0], ne[1]]];
14760
+ var options = { animate: true, padding: [20, 20] };
14761
+ if (maxZoom !== undefined)
14762
+ options.maxZoom = maxZoom;
14763
+ this.map.fitBounds(bounds, options);
14764
+ };
14765
+ LeafletMap.prototype.panInsidePoint = function (lat, lng) {
14766
+ this.map.panInside([lat, lng], { padding: [60, 60] });
14767
+ };
14768
+ LeafletMap.prototype.panInsideBounds = function (sw, ne) {
14769
+ var bounds = [[sw[0], sw[1]], [ne[0], ne[1]]];
14770
+ this.map.panInsideBounds(bounds, { animate: true });
14771
+ };
14597
14772
  LeafletMap.prototype.fitBoundsElements = function (markers, circles, polygons, polylines) {
14598
14773
  var group = [];
14599
14774
  if (markers && markers.length) {
@@ -15200,6 +15375,9 @@ var LeafletPolygons = /** @class */ (function () {
15200
15375
  eventFunction(path[0], event.target.object);
15201
15376
  });
15202
15377
  };
15378
+ LeafletPolygons.prototype.bringPolygonToFront = function (polygons) {
15379
+ polygons.forEach(function (polygon) { return polygon.bringToFront(); });
15380
+ };
15203
15381
  LeafletPolygons.prototype.addPolygonEventClick = function (polygon, eventFunction, self) {
15204
15382
  polygon.on('click', function (event) {
15205
15383
  self.leaflet.DomEvent.stopPropagation(event);
@@ -15251,6 +15429,8 @@ var LeafletPolylines = /** @class */ (function () {
15251
15429
  this.multiSelection = false;
15252
15430
  this.navigateByPoint = false;
15253
15431
  this.navigationOptions = {};
15432
+ this.suppressNavigationPopup = false;
15433
+ this.navigationPopupCloseHandler = null;
15254
15434
  this.map = map;
15255
15435
  this.leaflet = leaflet;
15256
15436
  this.leafletPopup = leafletPopup;
@@ -15371,13 +15551,14 @@ var LeafletPolylines = /** @class */ (function () {
15371
15551
  }
15372
15552
  return polyline;
15373
15553
  };
15374
- LeafletPolylines.prototype.drawPolylineWithNavigation = function (options, eventClick) {
15554
+ LeafletPolylines.prototype.drawPolylineWithNavigation = function (options, eventClick, onNavigationPopupClose) {
15375
15555
  var polyline = this.drawPolyline(options, null);
15376
15556
  polyline.navigationHandlerClick = eventClick;
15377
15557
  this.navigationOptions = options.navigateOptions;
15378
15558
  this.navigateByPoint = this.navigationOptions
15379
15559
  ? this.navigationOptions.navigateByPoint
15380
15560
  : true;
15561
+ this.navigationPopupCloseHandler = onNavigationPopupClose || null;
15381
15562
  this.addNavigation(polyline);
15382
15563
  return polyline;
15383
15564
  };
@@ -15538,6 +15719,13 @@ var LeafletPolylines = /** @class */ (function () {
15538
15719
  document.onkeyup = null;
15539
15720
  document.onkeydown = null;
15540
15721
  };
15722
+ LeafletPolylines.prototype.setSuppressNavigationPopup = function (suppress) {
15723
+ this.suppressNavigationPopup = suppress;
15724
+ if (suppress && this.navigateInfoWindow) {
15725
+ this.navigateInfoWindow.remove();
15726
+ this.navigateInfoWindow = null;
15727
+ }
15728
+ };
15541
15729
  LeafletPolylines.prototype.addPolylineEvent = function (polylines, eventType, eventFunction) {
15542
15730
  var _this = this;
15543
15731
  polylines.forEach(function (polyline) {
@@ -15692,9 +15880,7 @@ var LeafletPolylines = /** @class */ (function () {
15692
15880
  }
15693
15881
  else {
15694
15882
  this.multiSelection = true;
15695
- if (this.multiSelectionForward) {
15696
- polyline.finalIdx++;
15697
- }
15883
+ polyline.finalIdx++;
15698
15884
  this.multiSelectionForward = true;
15699
15885
  }
15700
15886
  };
@@ -15718,9 +15904,7 @@ var LeafletPolylines = /** @class */ (function () {
15718
15904
  }
15719
15905
  else {
15720
15906
  self.multiSelection = true;
15721
- if (!self.multiSelectionForward) {
15722
- polyline.initialIdx--;
15723
- }
15907
+ polyline.initialIdx--;
15724
15908
  self.multiSelectionForward = false;
15725
15909
  }
15726
15910
  };
@@ -15761,7 +15945,7 @@ var LeafletPolylines = /** @class */ (function () {
15761
15945
  var infowindow = polyline.options.infowindows
15762
15946
  ? polyline.options.infowindows[idx]
15763
15947
  : null;
15764
- if (infowindow) {
15948
+ if (infowindow && !this.suppressNavigationPopup) {
15765
15949
  var point = polyline.getLatLngs()[idx];
15766
15950
  if (self.navigateInfoWindow) {
15767
15951
  self.leafletPopup.alterPopup(self.navigateInfoWindow, {
@@ -15774,6 +15958,14 @@ var LeafletPolylines = /** @class */ (function () {
15774
15958
  content: infowindow,
15775
15959
  latlng: [point.lat, point.lng],
15776
15960
  });
15961
+ if (self.navigationPopupCloseHandler) {
15962
+ self.map.once('popupclose', function (e) {
15963
+ if (e.popup === self.navigateInfoWindow) {
15964
+ self.navigateInfoWindow = null;
15965
+ self.navigationPopupCloseHandler();
15966
+ }
15967
+ });
15968
+ }
15777
15969
  }
15778
15970
  }
15779
15971
  };
@@ -16015,6 +16207,13 @@ var LeafletPopup = /** @class */ (function () {
16015
16207
  if (options.object) {
16016
16208
  popup.object = options.object;
16017
16209
  }
16210
+ if (options.onClose) {
16211
+ self.map.once('popupclose', function (e) {
16212
+ if (e.popup === popup) {
16213
+ options.onClose();
16214
+ }
16215
+ });
16216
+ }
16018
16217
  return popup;
16019
16218
  };
16020
16219
  LeafletPopup.prototype.alterPopup = function (popup, options, marker) {
@@ -16148,294 +16347,294 @@ var PolylineOptions = /** @class */ (function () {
16148
16347
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
16149
16348
 
16150
16349
  "use strict";
16151
- Object.defineProperty(exports, "__esModule", ({value:true}));var _exportNames={computeDestinationPoint:true,convertArea:true,convertDistance:true,convertSpeed:true,decimalToSexagesimal:true,findNearest:true,getAreaOfPolygon:true,getBounds:true,getBoundsOfDistance:true,getCenter:true,getCenterOfBounds:true,getCompassDirection:true,getCoordinateKey:true,getCoordinateKeys:true,getDistance:true,getDistanceFromLine:true,getGreatCircleBearing:true,getLatitude:true,getLongitude:true,getPathLength:true,getPreciseDistance:true,getRhumbLineBearing:true,getRoughCompassDirection:true,getSpeed:true,isDecimal:true,isPointInLine:true,isPointInPolygon:true,isPointNearLine:true,isPointWithinRadius:true,isSexagesimal:true,isValidCoordinate:true,isValidLatitude:true,isValidLongitude:true,orderByDistance:true,sexagesimalToDecimal:true,toDecimal:true,toRad:true,toDeg:true,wktToPolygon:true};Object.defineProperty(exports, "computeDestinationPoint", ({enumerable:true,get:function get(){return _computeDestinationPoint.default}}));Object.defineProperty(exports, "convertArea", ({enumerable:true,get:function get(){return _convertArea.default}}));Object.defineProperty(exports, "convertDistance", ({enumerable:true,get:function get(){return _convertDistance.default}}));Object.defineProperty(exports, "convertSpeed", ({enumerable:true,get:function get(){return _convertSpeed.default}}));Object.defineProperty(exports, "decimalToSexagesimal", ({enumerable:true,get:function get(){return _decimalToSexagesimal.default}}));Object.defineProperty(exports, "findNearest", ({enumerable:true,get:function get(){return _findNearest.default}}));Object.defineProperty(exports, "getAreaOfPolygon", ({enumerable:true,get:function get(){return _getAreaOfPolygon.default}}));Object.defineProperty(exports, "getBounds", ({enumerable:true,get:function get(){return _getBounds.default}}));Object.defineProperty(exports, "getBoundsOfDistance", ({enumerable:true,get:function get(){return _getBoundsOfDistance.default}}));Object.defineProperty(exports, "getCenter", ({enumerable:true,get:function get(){return _getCenter.default}}));Object.defineProperty(exports, "getCenterOfBounds", ({enumerable:true,get:function get(){return _getCenterOfBounds.default}}));Object.defineProperty(exports, "getCompassDirection", ({enumerable:true,get:function get(){return _getCompassDirection.default}}));Object.defineProperty(exports, "getCoordinateKey", ({enumerable:true,get:function get(){return _getCoordinateKey.default}}));Object.defineProperty(exports, "getCoordinateKeys", ({enumerable:true,get:function get(){return _getCoordinateKeys.default}}));Object.defineProperty(exports, "getDistance", ({enumerable:true,get:function get(){return _getDistance.default}}));Object.defineProperty(exports, "getDistanceFromLine", ({enumerable:true,get:function get(){return _getDistanceFromLine.default}}));Object.defineProperty(exports, "getGreatCircleBearing", ({enumerable:true,get:function get(){return _getGreatCircleBearing.default}}));Object.defineProperty(exports, "getLatitude", ({enumerable:true,get:function get(){return _getLatitude.default}}));Object.defineProperty(exports, "getLongitude", ({enumerable:true,get:function get(){return _getLongitude.default}}));Object.defineProperty(exports, "getPathLength", ({enumerable:true,get:function get(){return _getPathLength.default}}));Object.defineProperty(exports, "getPreciseDistance", ({enumerable:true,get:function get(){return _getPreciseDistance.default}}));Object.defineProperty(exports, "getRhumbLineBearing", ({enumerable:true,get:function get(){return _getRhumbLineBearing.default}}));Object.defineProperty(exports, "getRoughCompassDirection", ({enumerable:true,get:function get(){return _getRoughCompassDirection.default}}));Object.defineProperty(exports, "getSpeed", ({enumerable:true,get:function get(){return _getSpeed.default}}));Object.defineProperty(exports, "isDecimal", ({enumerable:true,get:function get(){return _isDecimal.default}}));Object.defineProperty(exports, "isPointInLine", ({enumerable:true,get:function get(){return _isPointInLine.default}}));Object.defineProperty(exports, "isPointInPolygon", ({enumerable:true,get:function get(){return _isPointInPolygon.default}}));Object.defineProperty(exports, "isPointNearLine", ({enumerable:true,get:function get(){return _isPointNearLine.default}}));Object.defineProperty(exports, "isPointWithinRadius", ({enumerable:true,get:function get(){return _isPointWithinRadius.default}}));Object.defineProperty(exports, "isSexagesimal", ({enumerable:true,get:function get(){return _isSexagesimal.default}}));Object.defineProperty(exports, "isValidCoordinate", ({enumerable:true,get:function get(){return _isValidCoordinate.default}}));Object.defineProperty(exports, "isValidLatitude", ({enumerable:true,get:function get(){return _isValidLatitude.default}}));Object.defineProperty(exports, "isValidLongitude", ({enumerable:true,get:function get(){return _isValidLongitude.default}}));Object.defineProperty(exports, "orderByDistance", ({enumerable:true,get:function get(){return _orderByDistance.default}}));Object.defineProperty(exports, "sexagesimalToDecimal", ({enumerable:true,get:function get(){return _sexagesimalToDecimal.default}}));Object.defineProperty(exports, "toDecimal", ({enumerable:true,get:function get(){return _toDecimal.default}}));Object.defineProperty(exports, "toRad", ({enumerable:true,get:function get(){return _toRad.default}}));Object.defineProperty(exports, "toDeg", ({enumerable:true,get:function get(){return _toDeg.default}}));Object.defineProperty(exports, "wktToPolygon", ({enumerable:true,get:function get(){return _wktToPolygon.default}}));var _computeDestinationPoint=_interopRequireDefault(__webpack_require__(35));var _convertArea=_interopRequireDefault(__webpack_require__(50));var _convertDistance=_interopRequireDefault(__webpack_require__(51));var _convertSpeed=_interopRequireDefault(__webpack_require__(52));var _decimalToSexagesimal=_interopRequireDefault(__webpack_require__(53));var _findNearest=_interopRequireDefault(__webpack_require__(54));var _getAreaOfPolygon=_interopRequireDefault(__webpack_require__(58));var _getBounds=_interopRequireDefault(__webpack_require__(59));var _getBoundsOfDistance=_interopRequireDefault(__webpack_require__(60));var _getCenter=_interopRequireDefault(__webpack_require__(61));var _getCenterOfBounds=_interopRequireDefault(__webpack_require__(62));var _getCompassDirection=_interopRequireDefault(__webpack_require__(63));var _getCoordinateKey=_interopRequireDefault(__webpack_require__(38));var _getCoordinateKeys=_interopRequireDefault(__webpack_require__(44));var _getDistance=_interopRequireDefault(__webpack_require__(56));var _getDistanceFromLine=_interopRequireDefault(__webpack_require__(65));var _getGreatCircleBearing=_interopRequireDefault(__webpack_require__(66));var _getLatitude=_interopRequireDefault(__webpack_require__(36));var _getLongitude=_interopRequireDefault(__webpack_require__(47));var _getPathLength=_interopRequireDefault(__webpack_require__(67));var _getPreciseDistance=_interopRequireDefault(__webpack_require__(68));var _getRhumbLineBearing=_interopRequireDefault(__webpack_require__(64));var _getRoughCompassDirection=_interopRequireDefault(__webpack_require__(69));var _getSpeed=_interopRequireDefault(__webpack_require__(70));var _isDecimal=_interopRequireDefault(__webpack_require__(40));var _isPointInLine=_interopRequireDefault(__webpack_require__(71));var _isPointInPolygon=_interopRequireDefault(__webpack_require__(72));var _isPointNearLine=_interopRequireDefault(__webpack_require__(73));var _isPointWithinRadius=_interopRequireDefault(__webpack_require__(74));var _isSexagesimal=_interopRequireDefault(__webpack_require__(41));var _isValidCoordinate=_interopRequireDefault(__webpack_require__(43));var _isValidLatitude=_interopRequireDefault(__webpack_require__(45));var _isValidLongitude=_interopRequireDefault(__webpack_require__(46));var _orderByDistance=_interopRequireDefault(__webpack_require__(55));var _sexagesimalToDecimal=_interopRequireDefault(__webpack_require__(42));var _toDecimal=_interopRequireDefault(__webpack_require__(39));var _toRad=_interopRequireDefault(__webpack_require__(48));var _toDeg=_interopRequireDefault(__webpack_require__(49));var _wktToPolygon=_interopRequireDefault(__webpack_require__(75));var _constants=__webpack_require__(37);Object.keys(_constants).forEach(function(key){if(key==="default"||key==="__esModule")return;if(Object.prototype.hasOwnProperty.call(_exportNames,key))return;Object.defineProperty(exports,key,{enumerable:true,get:function get(){return _constants[key]}})});function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}
16350
+ Object.defineProperty(exports, "__esModule", ({value:true}));var _exportNames={computeDestinationPoint:true,convertArea:true,convertDistance:true,convertSpeed:true,decimalToSexagesimal:true,findNearest:true,getAreaOfPolygon:true,getBounds:true,getBoundsOfDistance:true,getCenter:true,getCenterOfBounds:true,getCompassDirection:true,getCoordinateKey:true,getCoordinateKeys:true,getDistance:true,getDistanceFromLine:true,getGreatCircleBearing:true,getLatitude:true,getLongitude:true,getPathLength:true,getPreciseDistance:true,getRhumbLineBearing:true,getRoughCompassDirection:true,getSpeed:true,isDecimal:true,isPointInLine:true,isPointInPolygon:true,isPointNearLine:true,isPointWithinRadius:true,isSexagesimal:true,isValidCoordinate:true,isValidLatitude:true,isValidLongitude:true,orderByDistance:true,sexagesimalToDecimal:true,toDecimal:true,toRad:true,toDeg:true,wktToPolygon:true};Object.defineProperty(exports, "computeDestinationPoint", ({enumerable:true,get:function(){return _computeDestinationPoint.default}}));Object.defineProperty(exports, "convertArea", ({enumerable:true,get:function(){return _convertArea.default}}));Object.defineProperty(exports, "convertDistance", ({enumerable:true,get:function(){return _convertDistance.default}}));Object.defineProperty(exports, "convertSpeed", ({enumerable:true,get:function(){return _convertSpeed.default}}));Object.defineProperty(exports, "decimalToSexagesimal", ({enumerable:true,get:function(){return _decimalToSexagesimal.default}}));Object.defineProperty(exports, "findNearest", ({enumerable:true,get:function(){return _findNearest.default}}));Object.defineProperty(exports, "getAreaOfPolygon", ({enumerable:true,get:function(){return _getAreaOfPolygon.default}}));Object.defineProperty(exports, "getBounds", ({enumerable:true,get:function(){return _getBounds.default}}));Object.defineProperty(exports, "getBoundsOfDistance", ({enumerable:true,get:function(){return _getBoundsOfDistance.default}}));Object.defineProperty(exports, "getCenter", ({enumerable:true,get:function(){return _getCenter.default}}));Object.defineProperty(exports, "getCenterOfBounds", ({enumerable:true,get:function(){return _getCenterOfBounds.default}}));Object.defineProperty(exports, "getCompassDirection", ({enumerable:true,get:function(){return _getCompassDirection.default}}));Object.defineProperty(exports, "getCoordinateKey", ({enumerable:true,get:function(){return _getCoordinateKey.default}}));Object.defineProperty(exports, "getCoordinateKeys", ({enumerable:true,get:function(){return _getCoordinateKeys.default}}));Object.defineProperty(exports, "getDistance", ({enumerable:true,get:function(){return _getDistance.default}}));Object.defineProperty(exports, "getDistanceFromLine", ({enumerable:true,get:function(){return _getDistanceFromLine.default}}));Object.defineProperty(exports, "getGreatCircleBearing", ({enumerable:true,get:function(){return _getGreatCircleBearing.default}}));Object.defineProperty(exports, "getLatitude", ({enumerable:true,get:function(){return _getLatitude.default}}));Object.defineProperty(exports, "getLongitude", ({enumerable:true,get:function(){return _getLongitude.default}}));Object.defineProperty(exports, "getPathLength", ({enumerable:true,get:function(){return _getPathLength.default}}));Object.defineProperty(exports, "getPreciseDistance", ({enumerable:true,get:function(){return _getPreciseDistance.default}}));Object.defineProperty(exports, "getRhumbLineBearing", ({enumerable:true,get:function(){return _getRhumbLineBearing.default}}));Object.defineProperty(exports, "getRoughCompassDirection", ({enumerable:true,get:function(){return _getRoughCompassDirection.default}}));Object.defineProperty(exports, "getSpeed", ({enumerable:true,get:function(){return _getSpeed.default}}));Object.defineProperty(exports, "isDecimal", ({enumerable:true,get:function(){return _isDecimal.default}}));Object.defineProperty(exports, "isPointInLine", ({enumerable:true,get:function(){return _isPointInLine.default}}));Object.defineProperty(exports, "isPointInPolygon", ({enumerable:true,get:function(){return _isPointInPolygon.default}}));Object.defineProperty(exports, "isPointNearLine", ({enumerable:true,get:function(){return _isPointNearLine.default}}));Object.defineProperty(exports, "isPointWithinRadius", ({enumerable:true,get:function(){return _isPointWithinRadius.default}}));Object.defineProperty(exports, "isSexagesimal", ({enumerable:true,get:function(){return _isSexagesimal.default}}));Object.defineProperty(exports, "isValidCoordinate", ({enumerable:true,get:function(){return _isValidCoordinate.default}}));Object.defineProperty(exports, "isValidLatitude", ({enumerable:true,get:function(){return _isValidLatitude.default}}));Object.defineProperty(exports, "isValidLongitude", ({enumerable:true,get:function(){return _isValidLongitude.default}}));Object.defineProperty(exports, "orderByDistance", ({enumerable:true,get:function(){return _orderByDistance.default}}));Object.defineProperty(exports, "sexagesimalToDecimal", ({enumerable:true,get:function(){return _sexagesimalToDecimal.default}}));Object.defineProperty(exports, "toDecimal", ({enumerable:true,get:function(){return _toDecimal.default}}));Object.defineProperty(exports, "toDeg", ({enumerable:true,get:function(){return _toDeg.default}}));Object.defineProperty(exports, "toRad", ({enumerable:true,get:function(){return _toRad.default}}));Object.defineProperty(exports, "wktToPolygon", ({enumerable:true,get:function(){return _wktToPolygon.default}}));var _computeDestinationPoint=_interopRequireDefault(__webpack_require__(35));var _convertArea=_interopRequireDefault(__webpack_require__(50));var _convertDistance=_interopRequireDefault(__webpack_require__(51));var _convertSpeed=_interopRequireDefault(__webpack_require__(52));var _decimalToSexagesimal=_interopRequireDefault(__webpack_require__(53));var _findNearest=_interopRequireDefault(__webpack_require__(54));var _getAreaOfPolygon=_interopRequireDefault(__webpack_require__(58));var _getBounds=_interopRequireDefault(__webpack_require__(59));var _getBoundsOfDistance=_interopRequireDefault(__webpack_require__(60));var _getCenter=_interopRequireDefault(__webpack_require__(61));var _getCenterOfBounds=_interopRequireDefault(__webpack_require__(62));var _getCompassDirection=_interopRequireDefault(__webpack_require__(63));var _getCoordinateKey=_interopRequireDefault(__webpack_require__(38));var _getCoordinateKeys=_interopRequireDefault(__webpack_require__(44));var _getDistance=_interopRequireDefault(__webpack_require__(56));var _getDistanceFromLine=_interopRequireDefault(__webpack_require__(65));var _getGreatCircleBearing=_interopRequireDefault(__webpack_require__(66));var _getLatitude=_interopRequireDefault(__webpack_require__(36));var _getLongitude=_interopRequireDefault(__webpack_require__(47));var _getPathLength=_interopRequireDefault(__webpack_require__(67));var _getPreciseDistance=_interopRequireDefault(__webpack_require__(68));var _getRhumbLineBearing=_interopRequireDefault(__webpack_require__(64));var _getRoughCompassDirection=_interopRequireDefault(__webpack_require__(69));var _getSpeed=_interopRequireDefault(__webpack_require__(70));var _isDecimal=_interopRequireDefault(__webpack_require__(40));var _isPointInLine=_interopRequireDefault(__webpack_require__(71));var _isPointInPolygon=_interopRequireDefault(__webpack_require__(72));var _isPointNearLine=_interopRequireDefault(__webpack_require__(73));var _isPointWithinRadius=_interopRequireDefault(__webpack_require__(74));var _isSexagesimal=_interopRequireDefault(__webpack_require__(41));var _isValidCoordinate=_interopRequireDefault(__webpack_require__(43));var _isValidLatitude=_interopRequireDefault(__webpack_require__(45));var _isValidLongitude=_interopRequireDefault(__webpack_require__(46));var _orderByDistance=_interopRequireDefault(__webpack_require__(55));var _sexagesimalToDecimal=_interopRequireDefault(__webpack_require__(42));var _toDecimal=_interopRequireDefault(__webpack_require__(39));var _toRad=_interopRequireDefault(__webpack_require__(48));var _toDeg=_interopRequireDefault(__webpack_require__(49));var _wktToPolygon=_interopRequireDefault(__webpack_require__(75));var _constants=__webpack_require__(37);Object.keys(_constants).forEach(function(key){if(key==="default"||key==="__esModule")return;if(Object.prototype.hasOwnProperty.call(_exportNames,key))return;if(key in exports&&exports[key]===_constants[key])return;Object.defineProperty(exports,key,{enumerable:true,get:function(){return _constants[key]}})});function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}
16152
16351
 
16153
16352
  /***/ }),
16154
16353
  /* 35 */
16155
16354
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
16156
16355
 
16157
16356
  "use strict";
16158
- Object.defineProperty(exports, "__esModule", ({value:true}));exports["default"]=void 0;var _getLatitude=_interopRequireDefault(__webpack_require__(36));var _getLongitude=_interopRequireDefault(__webpack_require__(47));var _toRad=_interopRequireDefault(__webpack_require__(48));var _toDeg=_interopRequireDefault(__webpack_require__(49));var _constants=__webpack_require__(37);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var computeDestinationPoint=function computeDestinationPoint(start,distance,bearing){var radius=arguments.length>3&&arguments[3]!==undefined?arguments[3]:6371000;var lat=(0,_getLatitude.default)(start);var lng=(0,_getLongitude.default)(start);var delta=distance/radius;var theta=(0,_toRad.default)(bearing);var phi1=(0,_toRad.default)(lat);var lambda1=(0,_toRad.default)(lng);var phi2=Math.asin(Math.sin(phi1)*Math.cos(delta)+Math.cos(phi1)*Math.sin(delta)*Math.cos(theta));var lambda2=lambda1+Math.atan2(Math.sin(theta)*Math.sin(delta)*Math.cos(phi1),Math.cos(delta)-Math.sin(phi1)*Math.sin(phi2));var longitude=(0,_toDeg.default)(lambda2);if(longitude<_constants.MINLON||longitude>_constants.MAXLON){lambda2=(lambda2+3*Math.PI)%(2*Math.PI)-Math.PI;longitude=(0,_toDeg.default)(lambda2)}return{latitude:(0,_toDeg.default)(phi2),longitude:longitude}};var _default=computeDestinationPoint;exports["default"]=_default;
16357
+ Object.defineProperty(exports, "__esModule", ({value:true}));exports["default"]=void 0;var _getLatitude=_interopRequireDefault(__webpack_require__(36));var _getLongitude=_interopRequireDefault(__webpack_require__(47));var _toRad=_interopRequireDefault(__webpack_require__(48));var _toDeg=_interopRequireDefault(__webpack_require__(49));var _constants=__webpack_require__(37);function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const computeDestinationPoint=function(start,distance,bearing){let radius=arguments.length>3&&arguments[3]!==undefined?arguments[3]:6371000;const lat=(0,_getLatitude.default)(start);const lng=(0,_getLongitude.default)(start);const delta=distance/radius;const theta=(0,_toRad.default)(bearing);const phi1=(0,_toRad.default)(lat);const lambda1=(0,_toRad.default)(lng);const phi2=Math.asin(Math.sin(phi1)*Math.cos(delta)+Math.cos(phi1)*Math.sin(delta)*Math.cos(theta));let lambda2=lambda1+Math.atan2(Math.sin(theta)*Math.sin(delta)*Math.cos(phi1),Math.cos(delta)-Math.sin(phi1)*Math.sin(phi2));let longitude=(0,_toDeg.default)(lambda2);if(longitude<_constants.MINLON||longitude>_constants.MAXLON){lambda2=(lambda2+3*Math.PI)%(2*Math.PI)-Math.PI;longitude=(0,_toDeg.default)(lambda2)}return{latitude:(0,_toDeg.default)(phi2),longitude}};var _default=exports["default"]=computeDestinationPoint;
16159
16358
 
16160
16359
  /***/ }),
16161
16360
  /* 36 */
16162
16361
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
16163
16362
 
16164
16363
  "use strict";
16165
- Object.defineProperty(exports, "__esModule", ({value:true}));exports["default"]=void 0;var _constants=__webpack_require__(37);var _getCoordinateKey=_interopRequireDefault(__webpack_require__(38));var _toDecimal=_interopRequireDefault(__webpack_require__(39));function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var getLatitude=function getLatitude(point,raw){var latKey=(0,_getCoordinateKey.default)(point,_constants.latitudeKeys);if(typeof latKey==="undefined"||latKey===null){return}var value=point[latKey];return raw===true?value:(0,_toDecimal.default)(value)};var _default=getLatitude;exports["default"]=_default;
16364
+ Object.defineProperty(exports, "__esModule", ({value:true}));exports["default"]=void 0;var _constants=__webpack_require__(37);var _getCoordinateKey=_interopRequireDefault(__webpack_require__(38));var _toDecimal=_interopRequireDefault(__webpack_require__(39));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const getLatitude=(point,raw)=>{const latKey=(0,_getCoordinateKey.default)(point,_constants.latitudeKeys);if(latKey===undefined||latKey===null){return}const value=point[latKey];return raw===true?value:(0,_toDecimal.default)(value)};var _default=exports["default"]=getLatitude;
16166
16365
 
16167
16366
  /***/ }),
16168
16367
  /* 37 */
16169
16368
  /***/ ((__unused_webpack_module, exports) => {
16170
16369
 
16171
16370
  "use strict";
16172
- Object.defineProperty(exports, "__esModule", ({value:true}));exports.areaConversion=exports.timeConversion=exports.distanceConversion=exports.altitudeKeys=exports.latitudeKeys=exports.longitudeKeys=exports.MAXLON=exports.MINLON=exports.MAXLAT=exports.MINLAT=exports.earthRadius=exports.sexagesimalPattern=void 0;var sexagesimalPattern=/^([0-9]{1,3})°\s*([0-9]{1,3}(?:\.(?:[0-9]{1,}))?)['′]\s*(([0-9]{1,3}(\.([0-9]{1,}))?)["″]\s*)?([NEOSW]?)$/;exports.sexagesimalPattern=sexagesimalPattern;var earthRadius=6378137;exports.earthRadius=earthRadius;var MINLAT=-90;exports.MINLAT=MINLAT;var MAXLAT=90;exports.MAXLAT=MAXLAT;var MINLON=-180;exports.MINLON=MINLON;var MAXLON=180;exports.MAXLON=MAXLON;var longitudeKeys=["lng","lon","longitude",0];exports.longitudeKeys=longitudeKeys;var latitudeKeys=["lat","latitude",1];exports.latitudeKeys=latitudeKeys;var altitudeKeys=["alt","altitude","elevation","elev",2];exports.altitudeKeys=altitudeKeys;var distanceConversion={m:1,km:0.001,cm:100,mm:1000,mi:1/1609.344,sm:1/1852.216,ft:100/30.48,in:100/2.54,yd:1/0.9144};exports.distanceConversion=distanceConversion;var timeConversion={m:60,h:3600,d:86400};exports.timeConversion=timeConversion;var areaConversion={m2:1,km2:0.000001,ha:0.0001,a:0.01,ft2:10.763911,yd2:1.19599,in2:1550.0031};exports.areaConversion=areaConversion;areaConversion.sqm=areaConversion.m2;areaConversion.sqkm=areaConversion.km2;areaConversion.sqft=areaConversion.ft2;areaConversion.sqyd=areaConversion.yd2;areaConversion.sqin=areaConversion.in2;
16371
+ Object.defineProperty(exports, "__esModule", ({value:true}));exports.timeConversion=exports.sexagesimalPattern=exports.longitudeKeys=exports.latitudeKeys=exports.earthRadius=exports.distanceConversion=exports.areaConversion=exports.altitudeKeys=exports.RAD_TO_DEG=exports.MINLON=exports.MINLAT=exports.MAXLON=exports.MAXLAT=exports.DEG_TO_RAD=void 0;const sexagesimalPattern=exports.sexagesimalPattern=/^([0-9]{1,3})°\s*([0-9]{1,3}(?:\.(?:[0-9]{1,}))?)['′]\s*(([0-9]{1,3}(\.([0-9]{1,}))?)["″]\s*)?([NEOSW]?)$/;const earthRadius=exports.earthRadius=6378137;const MINLAT=exports.MINLAT=-90;const MAXLAT=exports.MAXLAT=90;const MINLON=exports.MINLON=-180;const MAXLON=exports.MAXLON=180;const DEG_TO_RAD=exports.DEG_TO_RAD=Math.PI/180;const RAD_TO_DEG=exports.RAD_TO_DEG=180/Math.PI;const longitudeKeys=exports.longitudeKeys=["lng","lon","longitude",0];const latitudeKeys=exports.latitudeKeys=["lat","latitude",1];const altitudeKeys=exports.altitudeKeys=["alt","altitude","elevation","elev",2];const distanceConversion=exports.distanceConversion={m:1,km:0.001,cm:100,mm:1000,mi:1/1609.344,sm:1/1852.216,ft:100/30.48,in:100/2.54,yd:1/0.9144};const timeConversion=exports.timeConversion={m:60,h:3600,d:86400};const areaConversion=exports.areaConversion={m2:1,km2:0.000001,ha:0.0001,a:0.01,ft2:10.763911,yd2:1.19599,in2:1550.0031};areaConversion.sqm=areaConversion.m2;areaConversion.sqkm=areaConversion.km2;areaConversion.sqft=areaConversion.ft2;areaConversion.sqyd=areaConversion.yd2;areaConversion.sqin=areaConversion.in2;
16173
16372
 
16174
16373
  /***/ }),
16175
16374
  /* 38 */
16176
16375
  /***/ ((__unused_webpack_module, exports) => {
16177
16376
 
16178
16377
  "use strict";
16179
- Object.defineProperty(exports, "__esModule", ({value:true}));exports["default"]=void 0;var getCoordinateKey=function getCoordinateKey(point,keysToLookup){return keysToLookup.reduce(function(foundKey,key){if(typeof point==="undefined"||point===null){throw new Error("'".concat(point,"' is no valid coordinate."))}if(Object.prototype.hasOwnProperty.call(point,key)&&typeof key!=="undefined"&&typeof foundKey==="undefined"){foundKey=key;return key}return foundKey},undefined)};var _default=getCoordinateKey;exports["default"]=_default;
16378
+ Object.defineProperty(exports, "__esModule", ({value:true}));exports["default"]=void 0;const getCoordinateKey=(point,keysToLookup)=>{if(point===undefined||point===null){throw new Error(`'${point}' is no valid coordinate.`)}return keysToLookup.reduce((foundKey,key)=>{if(Object.prototype.hasOwnProperty.call(point,key)&&key!==undefined&&foundKey===undefined){foundKey=key;return key}return foundKey},undefined)};var _default=exports["default"]=getCoordinateKey;
16180
16379
 
16181
16380
  /***/ }),
16182
16381
  /* 39 */
16183
16382
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
16184
16383
 
16185
16384
  "use strict";
16186
- Object.defineProperty(exports, "__esModule", ({value:true}));exports["default"]=void 0;var _isDecimal=_interopRequireDefault(__webpack_require__(40));var _isSexagesimal=_interopRequireDefault(__webpack_require__(41));var _sexagesimalToDecimal=_interopRequireDefault(__webpack_require__(42));var _isValidCoordinate=_interopRequireDefault(__webpack_require__(43));var _getCoordinateKeys=_interopRequireDefault(__webpack_require__(44));function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function ownKeys(object,enumerableOnly){var keys=Object.keys(object);if(Object.getOwnPropertySymbols){var symbols=Object.getOwnPropertySymbols(object);if(enumerableOnly)symbols=symbols.filter(function(sym){return Object.getOwnPropertyDescriptor(object,sym).enumerable});keys.push.apply(keys,symbols)}return keys}function _objectSpread(target){for(var i=1;i<arguments.length;i++){var source=arguments[i]!=null?arguments[i]:{};if(i%2){ownKeys(Object(source),true).forEach(function(key){_defineProperty(target,key,source[key])})}else if(Object.getOwnPropertyDescriptors){Object.defineProperties(target,Object.getOwnPropertyDescriptors(source))}else{ownKeys(Object(source)).forEach(function(key){Object.defineProperty(target,key,Object.getOwnPropertyDescriptor(source,key))})}}return target}function _defineProperty(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true})}else{obj[key]=value}return obj}var toDecimal=function toDecimal(value){if((0,_isDecimal.default)(value)){return Number(value)}if((0,_isSexagesimal.default)(value)){return(0,_sexagesimalToDecimal.default)(value)}if((0,_isValidCoordinate.default)(value)){var keys=(0,_getCoordinateKeys.default)(value);if(Array.isArray(value)){return value.map(function(v,index){return[0,1].includes(index)?toDecimal(v):v})}return _objectSpread(_objectSpread(_objectSpread({},value),keys.latitude&&_defineProperty({},keys.latitude,toDecimal(value[keys.latitude]))),keys.longitude&&_defineProperty({},keys.longitude,toDecimal(value[keys.longitude])))}if(Array.isArray(value)){return value.map(function(point){return(0,_isValidCoordinate.default)(point)?toDecimal(point):point})}return value};var _default=toDecimal;exports["default"]=_default;
16385
+ Object.defineProperty(exports, "__esModule", ({value:true}));exports["default"]=void 0;var _isDecimal=_interopRequireDefault(__webpack_require__(40));var _isSexagesimal=_interopRequireDefault(__webpack_require__(41));var _sexagesimalToDecimal=_interopRequireDefault(__webpack_require__(42));var _isValidCoordinate=_interopRequireDefault(__webpack_require__(43));var _getCoordinateKeys=_interopRequireDefault(__webpack_require__(44));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const toDecimal=value=>{if((0,_isDecimal.default)(value)){return Number(value)}if((0,_isSexagesimal.default)(value)){return(0,_sexagesimalToDecimal.default)(value)}if((0,_isValidCoordinate.default)(value)){const keys=(0,_getCoordinateKeys.default)(value);if(Array.isArray(value)){return value.map((v,index)=>[0,1].includes(index)?toDecimal(v):v)}return{...value,...(keys.latitude&&{[keys.latitude]:toDecimal(value[keys.latitude])}),...(keys.longitude&&{[keys.longitude]:toDecimal(value[keys.longitude])})}}if(Array.isArray(value)){return value.map(point=>(0,_isValidCoordinate.default)(point)?toDecimal(point):point)}return value};var _default=exports["default"]=toDecimal;
16187
16386
 
16188
16387
  /***/ }),
16189
16388
  /* 40 */
16190
16389
  /***/ ((__unused_webpack_module, exports) => {
16191
16390
 
16192
16391
  "use strict";
16193
- Object.defineProperty(exports, "__esModule", ({value:true}));exports["default"]=void 0;var isDecimal=function isDecimal(value){var checkedValue=value.toString().trim();if(isNaN(parseFloat(checkedValue))){return false}return parseFloat(checkedValue)===Number(checkedValue)};var _default=isDecimal;exports["default"]=_default;
16392
+ Object.defineProperty(exports, "__esModule", ({value:true}));exports["default"]=void 0;const isDecimal=value=>{const checkedValue=value.toString().trim();if(isNaN(parseFloat(checkedValue))){return false}return parseFloat(checkedValue)===Number(checkedValue)};var _default=exports["default"]=isDecimal;
16194
16393
 
16195
16394
  /***/ }),
16196
16395
  /* 41 */
16197
16396
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
16198
16397
 
16199
16398
  "use strict";
16200
- Object.defineProperty(exports, "__esModule", ({value:true}));exports["default"]=void 0;var _constants=__webpack_require__(37);var isSexagesimal=function isSexagesimal(value){return _constants.sexagesimalPattern.test(value.toString().trim())};var _default=isSexagesimal;exports["default"]=_default;
16399
+ Object.defineProperty(exports, "__esModule", ({value:true}));exports["default"]=void 0;var _constants=__webpack_require__(37);const isSexagesimal=value=>_constants.sexagesimalPattern.test(value.toString().trim());var _default=exports["default"]=isSexagesimal;
16201
16400
 
16202
16401
  /***/ }),
16203
16402
  /* 42 */
16204
16403
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
16205
16404
 
16206
16405
  "use strict";
16207
- Object.defineProperty(exports, "__esModule", ({value:true}));exports["default"]=void 0;var _constants=__webpack_require__(37);var sexagesimalToDecimal=function sexagesimalToDecimal(sexagesimal){var data=new RegExp(_constants.sexagesimalPattern).exec(sexagesimal.toString().trim());if(typeof data==="undefined"||data===null){throw new Error("Given value is not in sexagesimal format")}var min=Number(data[2])/60||0;var sec=Number(data[4])/3600||0;var decimal=parseFloat(data[1])+min+sec;return["S","W"].includes(data[7])?-decimal:decimal};var _default=sexagesimalToDecimal;exports["default"]=_default;
16406
+ Object.defineProperty(exports, "__esModule", ({value:true}));exports["default"]=void 0;var _constants=__webpack_require__(37);const sexagesimalToDecimal=sexagesimal=>{const data=new RegExp(_constants.sexagesimalPattern).exec(sexagesimal.toString().trim());if(data===null){throw new Error("Given value is not in sexagesimal format")}const min=Number(data[2])/60||0;const sec=Number(data[4])/3600||0;const decimal=parseFloat(data[1])+min+sec;return["S","W"].includes(data[7])?-decimal:decimal};var _default=exports["default"]=sexagesimalToDecimal;
16208
16407
 
16209
16408
  /***/ }),
16210
16409
  /* 43 */
16211
16410
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
16212
16411
 
16213
16412
  "use strict";
16214
- Object.defineProperty(exports, "__esModule", ({value:true}));exports["default"]=void 0;var _getCoordinateKeys2=_interopRequireDefault(__webpack_require__(44));var _isValidLatitude=_interopRequireDefault(__webpack_require__(45));var _isValidLongitude=_interopRequireDefault(__webpack_require__(46));function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var isValidCoordinate=function isValidCoordinate(point){var _getCoordinateKeys=(0,_getCoordinateKeys2.default)(point),latitude=_getCoordinateKeys.latitude,longitude=_getCoordinateKeys.longitude;if(Array.isArray(point)&&point.length>=2){return(0,_isValidLongitude.default)(point[0])&&(0,_isValidLatitude.default)(point[1])}if(typeof latitude==="undefined"||typeof longitude==="undefined"){return false}var lon=point[longitude];var lat=point[latitude];if(typeof lat==="undefined"||typeof lon==="undefined"){return false}if((0,_isValidLatitude.default)(lat)===false||(0,_isValidLongitude.default)(lon)===false){return false}return true};var _default=isValidCoordinate;exports["default"]=_default;
16413
+ Object.defineProperty(exports, "__esModule", ({value:true}));exports["default"]=void 0;var _getCoordinateKeys=_interopRequireDefault(__webpack_require__(44));var _isValidLatitude=_interopRequireDefault(__webpack_require__(45));var _isValidLongitude=_interopRequireDefault(__webpack_require__(46));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const isValidCoordinate=point=>{const{latitude,longitude}=(0,_getCoordinateKeys.default)(point);if(Array.isArray(point)&&point.length>=2){return(0,_isValidLongitude.default)(point[0])&&(0,_isValidLatitude.default)(point[1])}if(latitude===undefined||longitude===undefined){return false}const lon=point[longitude];const lat=point[latitude];if(lat===undefined||lon===undefined){return false}return(0,_isValidLatitude.default)(lat)&&(0,_isValidLongitude.default)(lon)};var _default=exports["default"]=isValidCoordinate;
16215
16414
 
16216
16415
  /***/ }),
16217
16416
  /* 44 */
16218
16417
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
16219
16418
 
16220
16419
  "use strict";
16221
- Object.defineProperty(exports, "__esModule", ({value:true}));exports["default"]=void 0;var _constants=__webpack_require__(37);var _getCoordinateKey=_interopRequireDefault(__webpack_require__(38));function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function ownKeys(object,enumerableOnly){var keys=Object.keys(object);if(Object.getOwnPropertySymbols){var symbols=Object.getOwnPropertySymbols(object);if(enumerableOnly)symbols=symbols.filter(function(sym){return Object.getOwnPropertyDescriptor(object,sym).enumerable});keys.push.apply(keys,symbols)}return keys}function _objectSpread(target){for(var i=1;i<arguments.length;i++){var source=arguments[i]!=null?arguments[i]:{};if(i%2){ownKeys(Object(source),true).forEach(function(key){_defineProperty(target,key,source[key])})}else if(Object.getOwnPropertyDescriptors){Object.defineProperties(target,Object.getOwnPropertyDescriptors(source))}else{ownKeys(Object(source)).forEach(function(key){Object.defineProperty(target,key,Object.getOwnPropertyDescriptor(source,key))})}}return target}function _defineProperty(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true})}else{obj[key]=value}return obj}var getCoordinateKeys=function getCoordinateKeys(point){var keysToLookup=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{longitude:_constants.longitudeKeys,latitude:_constants.latitudeKeys,altitude:_constants.altitudeKeys};var longitude=(0,_getCoordinateKey.default)(point,keysToLookup.longitude);var latitude=(0,_getCoordinateKey.default)(point,keysToLookup.latitude);var altitude=(0,_getCoordinateKey.default)(point,keysToLookup.altitude);return _objectSpread({latitude:latitude,longitude:longitude},altitude?{altitude:altitude}:{})};var _default=getCoordinateKeys;exports["default"]=_default;
16420
+ Object.defineProperty(exports, "__esModule", ({value:true}));exports["default"]=void 0;var _constants=__webpack_require__(37);var _getCoordinateKey=_interopRequireDefault(__webpack_require__(38));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const getCoordinateKeys=function(point){let keysToLookup=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{longitude:_constants.longitudeKeys,latitude:_constants.latitudeKeys,altitude:_constants.altitudeKeys};const longitude=(0,_getCoordinateKey.default)(point,keysToLookup.longitude);const latitude=(0,_getCoordinateKey.default)(point,keysToLookup.latitude);const altitude=(0,_getCoordinateKey.default)(point,keysToLookup.altitude);return{latitude,longitude,...(altitude?{altitude}:{})}};var _default=exports["default"]=getCoordinateKeys;
16222
16421
 
16223
16422
  /***/ }),
16224
16423
  /* 45 */
16225
16424
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
16226
16425
 
16227
16426
  "use strict";
16228
- Object.defineProperty(exports, "__esModule", ({value:true}));exports["default"]=void 0;var _isDecimal=_interopRequireDefault(__webpack_require__(40));var _isSexagesimal=_interopRequireDefault(__webpack_require__(41));var _sexagesimalToDecimal=_interopRequireDefault(__webpack_require__(42));var _constants=__webpack_require__(37);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var isValidLatitude=function isValidLatitude(value){if((0,_isDecimal.default)(value)){if(parseFloat(value)>_constants.MAXLAT||value<_constants.MINLAT){return false}return true}if((0,_isSexagesimal.default)(value)){return isValidLatitude((0,_sexagesimalToDecimal.default)(value))}return false};var _default=isValidLatitude;exports["default"]=_default;
16427
+ Object.defineProperty(exports, "__esModule", ({value:true}));exports["default"]=void 0;var _isDecimal=_interopRequireDefault(__webpack_require__(40));var _isSexagesimal=_interopRequireDefault(__webpack_require__(41));var _sexagesimalToDecimal=_interopRequireDefault(__webpack_require__(42));var _constants=__webpack_require__(37);function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const isValidLatitude=value=>{if((0,_isDecimal.default)(value)){const numValue=parseFloat(value);if(numValue>_constants.MAXLAT||numValue<_constants.MINLAT){return false}return true}if((0,_isSexagesimal.default)(value)){return isValidLatitude((0,_sexagesimalToDecimal.default)(value))}return false};var _default=exports["default"]=isValidLatitude;
16229
16428
 
16230
16429
  /***/ }),
16231
16430
  /* 46 */
16232
16431
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
16233
16432
 
16234
16433
  "use strict";
16235
- Object.defineProperty(exports, "__esModule", ({value:true}));exports["default"]=void 0;var _isDecimal=_interopRequireDefault(__webpack_require__(40));var _isSexagesimal=_interopRequireDefault(__webpack_require__(41));var _sexagesimalToDecimal=_interopRequireDefault(__webpack_require__(42));var _constants=__webpack_require__(37);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var isValidLongitude=function isValidLongitude(value){if((0,_isDecimal.default)(value)){if(parseFloat(value)>_constants.MAXLON||value<_constants.MINLON){return false}return true}if((0,_isSexagesimal.default)(value)){return isValidLongitude((0,_sexagesimalToDecimal.default)(value))}return false};var _default=isValidLongitude;exports["default"]=_default;
16434
+ Object.defineProperty(exports, "__esModule", ({value:true}));exports["default"]=void 0;var _isDecimal=_interopRequireDefault(__webpack_require__(40));var _isSexagesimal=_interopRequireDefault(__webpack_require__(41));var _sexagesimalToDecimal=_interopRequireDefault(__webpack_require__(42));var _constants=__webpack_require__(37);function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const isValidLongitude=value=>{if((0,_isDecimal.default)(value)){const numValue=parseFloat(value);if(numValue>_constants.MAXLON||numValue<_constants.MINLON){return false}return true}if((0,_isSexagesimal.default)(value)){return isValidLongitude((0,_sexagesimalToDecimal.default)(value))}return false};var _default=exports["default"]=isValidLongitude;
16236
16435
 
16237
16436
  /***/ }),
16238
16437
  /* 47 */
16239
16438
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
16240
16439
 
16241
16440
  "use strict";
16242
- Object.defineProperty(exports, "__esModule", ({value:true}));exports["default"]=void 0;var _constants=__webpack_require__(37);var _getCoordinateKey=_interopRequireDefault(__webpack_require__(38));var _toDecimal=_interopRequireDefault(__webpack_require__(39));function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var getLongitude=function getLongitude(point,raw){var latKey=(0,_getCoordinateKey.default)(point,_constants.longitudeKeys);if(typeof latKey==="undefined"||latKey===null){return}var value=point[latKey];return raw===true?value:(0,_toDecimal.default)(value)};var _default=getLongitude;exports["default"]=_default;
16441
+ Object.defineProperty(exports, "__esModule", ({value:true}));exports["default"]=void 0;var _constants=__webpack_require__(37);var _getCoordinateKey=_interopRequireDefault(__webpack_require__(38));var _toDecimal=_interopRequireDefault(__webpack_require__(39));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const getLongitude=(point,raw)=>{const lonKey=(0,_getCoordinateKey.default)(point,_constants.longitudeKeys);if(lonKey===undefined||lonKey===null){return}const value=point[lonKey];return raw===true?value:(0,_toDecimal.default)(value)};var _default=exports["default"]=getLongitude;
16243
16442
 
16244
16443
  /***/ }),
16245
16444
  /* 48 */
16246
- /***/ ((__unused_webpack_module, exports) => {
16445
+ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
16247
16446
 
16248
16447
  "use strict";
16249
- Object.defineProperty(exports, "__esModule", ({value:true}));exports["default"]=void 0;var toRad=function toRad(value){return value*Math.PI/180};var _default=toRad;exports["default"]=_default;
16448
+ Object.defineProperty(exports, "__esModule", ({value:true}));exports["default"]=void 0;var _constants=__webpack_require__(37);const toRad=value=>value*_constants.DEG_TO_RAD;var _default=exports["default"]=toRad;
16250
16449
 
16251
16450
  /***/ }),
16252
16451
  /* 49 */
16253
- /***/ ((__unused_webpack_module, exports) => {
16452
+ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
16254
16453
 
16255
16454
  "use strict";
16256
- Object.defineProperty(exports, "__esModule", ({value:true}));exports["default"]=void 0;var toDeg=function toDeg(value){return value*180/Math.PI};var _default=toDeg;exports["default"]=_default;
16455
+ Object.defineProperty(exports, "__esModule", ({value:true}));exports["default"]=void 0;var _constants=__webpack_require__(37);const toDeg=value=>value*_constants.RAD_TO_DEG;var _default=exports["default"]=toDeg;
16257
16456
 
16258
16457
  /***/ }),
16259
16458
  /* 50 */
16260
16459
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
16261
16460
 
16262
16461
  "use strict";
16263
- Object.defineProperty(exports, "__esModule", ({value:true}));exports["default"]=void 0;var _constants=__webpack_require__(37);var convertArea=function convertArea(squareMeters){var targetUnit=arguments.length>1&&arguments[1]!==undefined?arguments[1]:"m";var factor=_constants.areaConversion[targetUnit];if(factor){return squareMeters*factor}throw new Error("Invalid unit used for area conversion.")};var _default=convertArea;exports["default"]=_default;
16462
+ Object.defineProperty(exports, "__esModule", ({value:true}));exports["default"]=void 0;var _constants=__webpack_require__(37);const convertArea=function(squareMeters){let targetUnit=arguments.length>1&&arguments[1]!==undefined?arguments[1]:"m";const factor=_constants.areaConversion[targetUnit];if(factor){return squareMeters*factor}throw new Error("Invalid unit used for area conversion.")};var _default=exports["default"]=convertArea;
16264
16463
 
16265
16464
  /***/ }),
16266
16465
  /* 51 */
16267
16466
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
16268
16467
 
16269
16468
  "use strict";
16270
- Object.defineProperty(exports, "__esModule", ({value:true}));exports["default"]=void 0;var _constants=__webpack_require__(37);var convertDistance=function convertDistance(meters){var targetUnit=arguments.length>1&&arguments[1]!==undefined?arguments[1]:"m";var factor=_constants.distanceConversion[targetUnit];if(factor){return meters*factor}throw new Error("Invalid unit used for distance conversion.")};var _default=convertDistance;exports["default"]=_default;
16469
+ Object.defineProperty(exports, "__esModule", ({value:true}));exports["default"]=void 0;var _constants=__webpack_require__(37);const convertDistance=function(meters){let targetUnit=arguments.length>1&&arguments[1]!==undefined?arguments[1]:"m";const factor=_constants.distanceConversion[targetUnit];if(factor){return meters*factor}throw new Error("Invalid unit used for distance conversion.")};var _default=exports["default"]=convertDistance;
16271
16470
 
16272
16471
  /***/ }),
16273
16472
  /* 52 */
16274
16473
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
16275
16474
 
16276
16475
  "use strict";
16277
- Object.defineProperty(exports, "__esModule", ({value:true}));exports["default"]=void 0;var _constants=__webpack_require__(37);var convertSpeed=function convertSpeed(metersPerSecond){var targetUnit=arguments.length>1&&arguments[1]!==undefined?arguments[1]:"kmh";switch(targetUnit){case"kmh":return metersPerSecond*_constants.timeConversion.h*_constants.distanceConversion.km;case"mph":return metersPerSecond*_constants.timeConversion.h*_constants.distanceConversion.mi;default:return metersPerSecond;}};var _default=convertSpeed;exports["default"]=_default;
16476
+ Object.defineProperty(exports, "__esModule", ({value:true}));exports["default"]=void 0;var _constants=__webpack_require__(37);const convertSpeed=function(metersPerSecond){let targetUnit=arguments.length>1&&arguments[1]!==undefined?arguments[1]:"kmh";switch(targetUnit){case"kmh":return metersPerSecond*_constants.timeConversion.h*_constants.distanceConversion.km;case"mph":return metersPerSecond*_constants.timeConversion.h*_constants.distanceConversion.mi;default:return metersPerSecond}};var _default=exports["default"]=convertSpeed;
16278
16477
 
16279
16478
  /***/ }),
16280
16479
  /* 53 */
16281
16480
  /***/ ((__unused_webpack_module, exports) => {
16282
16481
 
16283
16482
  "use strict";
16284
- Object.defineProperty(exports, "__esModule", ({value:true}));exports["default"]=void 0;function _slicedToArray(arr,i){return _arrayWithHoles(arr)||_iterableToArrayLimit(arr,i)||_unsupportedIterableToArray(arr,i)||_nonIterableRest()}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(o,minLen){if(!o)return;if(typeof o==="string")return _arrayLikeToArray(o,minLen);var n=Object.prototype.toString.call(o).slice(8,-1);if(n==="Object"&&o.constructor)n=o.constructor.name;if(n==="Map"||n==="Set")return Array.from(o);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _arrayLikeToArray(o,minLen)}function _arrayLikeToArray(arr,len){if(len==null||len>arr.length)len=arr.length;for(var i=0,arr2=new Array(len);i<len;i++){arr2[i]=arr[i]}return arr2}function _iterableToArrayLimit(arr,i){if(typeof Symbol==="undefined"||!(Symbol.iterator in Object(arr)))return;var _arr=[];var _n=true;var _d=false;var _e=undefined;try{for(var _i=arr[Symbol.iterator](),_s;!(_n=(_s=_i.next()).done);_n=true){_arr.push(_s.value);if(i&&_arr.length===i)break}}catch(err){_d=true;_e=err}finally{try{if(!_n&&_i["return"]!=null)_i["return"]()}finally{if(_d)throw _e}}return _arr}function _arrayWithHoles(arr){if(Array.isArray(arr))return arr}var imprecise=function imprecise(number){var decimals=arguments.length>1&&arguments[1]!==undefined?arguments[1]:4;var factor=Math.pow(10,decimals);return Math.round(number*factor)/factor};var decimal2sexagesimalNext=function decimal2sexagesimalNext(decimal){var _decimal$toString$spl=decimal.toString().split("."),_decimal$toString$spl2=_slicedToArray(_decimal$toString$spl,2),pre=_decimal$toString$spl2[0],post=_decimal$toString$spl2[1];var deg=Math.abs(Number(pre));var min0=Number("0."+(post||0))*60;var sec0=min0.toString().split(".");var min=Math.floor(min0);var sec=imprecise(Number("0."+(sec0[1]||0))*60).toString();var _sec$split=sec.split("."),_sec$split2=_slicedToArray(_sec$split,2),secPreDec=_sec$split2[0],_sec$split2$=_sec$split2[1],secDec=_sec$split2$===void 0?"0":_sec$split2$;return deg+"\xB0 "+min.toString().padStart(2,"0")+"' "+secPreDec.padStart(2,"0")+"."+secDec.padEnd(1,"0")+"\""};var _default=decimal2sexagesimalNext;exports["default"]=_default;
16483
+ Object.defineProperty(exports, "__esModule", ({value:true}));exports["default"]=void 0;const imprecise=function(number){let decimals=arguments.length>1&&arguments[1]!==undefined?arguments[1]:4;const factor=Math.pow(10,decimals);return Math.round(number*factor)/factor};const decimal2sexagesimalNext=decimal=>{const[pre,post]=decimal.toString().split(".");const deg=Math.abs(Number(pre));const min0=Number("0."+(post||0))*60;const sec0=min0.toString().split(".");const min=Math.floor(min0);const sec=imprecise(Number("0."+(sec0[1]||0))*60).toString();const[secPreDec,secDec="0"]=sec.split(".");return deg+"\xB0 "+min.toString().padStart(2,"0")+"' "+secPreDec.padStart(2,"0")+"."+secDec.padEnd(1,"0")+"\""};var _default=exports["default"]=decimal2sexagesimalNext;
16285
16484
 
16286
16485
  /***/ }),
16287
16486
  /* 54 */
16288
16487
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
16289
16488
 
16290
16489
  "use strict";
16291
- Object.defineProperty(exports, "__esModule", ({value:true}));exports["default"]=void 0;var _orderByDistance=_interopRequireDefault(__webpack_require__(55));function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var findNearest=function findNearest(point,coords){return(0,_orderByDistance.default)(point,coords)[0]};var _default=findNearest;exports["default"]=_default;
16490
+ Object.defineProperty(exports, "__esModule", ({value:true}));exports["default"]=void 0;var _orderByDistance=_interopRequireDefault(__webpack_require__(55));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const findNearest=(point,coords)=>(0,_orderByDistance.default)(point,coords)[0];var _default=exports["default"]=findNearest;
16292
16491
 
16293
16492
  /***/ }),
16294
16493
  /* 55 */
16295
16494
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
16296
16495
 
16297
16496
  "use strict";
16298
- Object.defineProperty(exports, "__esModule", ({value:true}));exports["default"]=void 0;var _getDistance=_interopRequireDefault(__webpack_require__(56));function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var orderByDistance=function orderByDistance(point,coords){var distanceFn=arguments.length>2&&arguments[2]!==undefined?arguments[2]:_getDistance.default;distanceFn=typeof distanceFn==="function"?distanceFn:_getDistance.default;return coords.slice().sort(function(a,b){return distanceFn(point,a)-distanceFn(point,b)})};var _default=orderByDistance;exports["default"]=_default;
16497
+ Object.defineProperty(exports, "__esModule", ({value:true}));exports["default"]=void 0;var _getDistance=_interopRequireDefault(__webpack_require__(56));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const orderByDistance=function(point,coords){let distanceFn=arguments.length>2&&arguments[2]!==undefined?arguments[2]:_getDistance.default;distanceFn=typeof distanceFn==="function"?distanceFn:_getDistance.default;return coords.slice().sort((a,b)=>distanceFn(point,a)-distanceFn(point,b))};var _default=exports["default"]=orderByDistance;
16299
16498
 
16300
16499
  /***/ }),
16301
16500
  /* 56 */
16302
16501
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
16303
16502
 
16304
16503
  "use strict";
16305
- Object.defineProperty(exports, "__esModule", ({value:true}));exports["default"]=void 0;var _getLatitude=_interopRequireDefault(__webpack_require__(36));var _getLongitude=_interopRequireDefault(__webpack_require__(47));var _toRad=_interopRequireDefault(__webpack_require__(48));var _robustAcos=_interopRequireDefault(__webpack_require__(57));var _constants=__webpack_require__(37);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var getDistance=function getDistance(from,to){var accuracy=arguments.length>2&&arguments[2]!==undefined?arguments[2]:1;accuracy=typeof accuracy!=="undefined"&&!isNaN(accuracy)?accuracy:1;var fromLat=(0,_getLatitude.default)(from);var fromLon=(0,_getLongitude.default)(from);var toLat=(0,_getLatitude.default)(to);var toLon=(0,_getLongitude.default)(to);var distance=Math.acos((0,_robustAcos.default)(Math.sin((0,_toRad.default)(toLat))*Math.sin((0,_toRad.default)(fromLat))+Math.cos((0,_toRad.default)(toLat))*Math.cos((0,_toRad.default)(fromLat))*Math.cos((0,_toRad.default)(fromLon)-(0,_toRad.default)(toLon))))*_constants.earthRadius;return Math.round(distance/accuracy)*accuracy};var _default=getDistance;exports["default"]=_default;
16504
+ Object.defineProperty(exports, "__esModule", ({value:true}));exports["default"]=void 0;var _getLatitude=_interopRequireDefault(__webpack_require__(36));var _getLongitude=_interopRequireDefault(__webpack_require__(47));var _toRad=_interopRequireDefault(__webpack_require__(48));var _robustAcos=_interopRequireDefault(__webpack_require__(57));var _constants=__webpack_require__(37);function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const getDistance=function(from,to){let accuracy=arguments.length>2&&arguments[2]!==undefined?arguments[2]:1;accuracy=!isNaN(accuracy)?accuracy:1;const fromLat=(0,_toRad.default)((0,_getLatitude.default)(from));const toLat=(0,_toRad.default)((0,_getLatitude.default)(to));const deltaLon=(0,_toRad.default)((0,_getLongitude.default)(from)-(0,_getLongitude.default)(to));const distance=Math.acos((0,_robustAcos.default)(Math.sin(toLat)*Math.sin(fromLat)+Math.cos(toLat)*Math.cos(fromLat)*Math.cos(deltaLon)))*_constants.earthRadius;return Math.round(distance/accuracy)*accuracy};var _default=exports["default"]=getDistance;
16306
16505
 
16307
16506
  /***/ }),
16308
16507
  /* 57 */
16309
16508
  /***/ ((__unused_webpack_module, exports) => {
16310
16509
 
16311
16510
  "use strict";
16312
- Object.defineProperty(exports, "__esModule", ({value:true}));exports["default"]=void 0;var robustAcos=function robustAcos(value){if(value>1){return 1}if(value<-1){return-1}return value};var _default=robustAcos;exports["default"]=_default;
16511
+ Object.defineProperty(exports, "__esModule", ({value:true}));exports["default"]=void 0;const robustAcos=value=>{if(value>1){return 1}if(value<-1){return-1}return value};var _default=exports["default"]=robustAcos;
16313
16512
 
16314
16513
  /***/ }),
16315
16514
  /* 58 */
16316
16515
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
16317
16516
 
16318
16517
  "use strict";
16319
- Object.defineProperty(exports, "__esModule", ({value:true}));exports["default"]=void 0;var _toRad=_interopRequireDefault(__webpack_require__(48));var _getLatitude=_interopRequireDefault(__webpack_require__(36));var _getLongitude=_interopRequireDefault(__webpack_require__(47));var _constants=__webpack_require__(37);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var getAreaOfPolygon=function getAreaOfPolygon(points){var area=0;if(points.length>2){var lowerIndex;var middleIndex;var upperIndex;for(var i=0;i<points.length;i++){if(i===points.length-2){lowerIndex=points.length-2;middleIndex=points.length-1;upperIndex=0}else if(i===points.length-1){lowerIndex=points.length-1;middleIndex=0;upperIndex=1}else{lowerIndex=i;middleIndex=i+1;upperIndex=i+2}var p1lon=(0,_getLongitude.default)(points[lowerIndex]);var p2lat=(0,_getLatitude.default)(points[middleIndex]);var p3lon=(0,_getLongitude.default)(points[upperIndex]);area+=((0,_toRad.default)(p3lon)-(0,_toRad.default)(p1lon))*Math.sin((0,_toRad.default)(p2lat))}area=area*_constants.earthRadius*_constants.earthRadius/2}return Math.abs(area)};var _default=getAreaOfPolygon;exports["default"]=_default;
16518
+ Object.defineProperty(exports, "__esModule", ({value:true}));exports["default"]=void 0;var _toRad=_interopRequireDefault(__webpack_require__(48));var _getLatitude=_interopRequireDefault(__webpack_require__(36));var _getLongitude=_interopRequireDefault(__webpack_require__(47));var _constants=__webpack_require__(37);function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const getAreaOfPolygon=points=>{let area=0;if(points.length>2){let lowerIndex;let middleIndex;let upperIndex;for(let i=0;i<points.length;i++){if(i===points.length-2){lowerIndex=points.length-2;middleIndex=points.length-1;upperIndex=0}else if(i===points.length-1){lowerIndex=points.length-1;middleIndex=0;upperIndex=1}else{lowerIndex=i;middleIndex=i+1;upperIndex=i+2}const p1lon=(0,_getLongitude.default)(points[lowerIndex]);const p2lat=(0,_getLatitude.default)(points[middleIndex]);const p3lon=(0,_getLongitude.default)(points[upperIndex]);area+=((0,_toRad.default)(p3lon)-(0,_toRad.default)(p1lon))*Math.sin((0,_toRad.default)(p2lat))}area=area*_constants.earthRadius*_constants.earthRadius/2}return Math.abs(area)};var _default=exports["default"]=getAreaOfPolygon;
16320
16519
 
16321
16520
  /***/ }),
16322
16521
  /* 59 */
16323
16522
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
16324
16523
 
16325
16524
  "use strict";
16326
- Object.defineProperty(exports, "__esModule", ({value:true}));exports["default"]=void 0;var _getLatitude=_interopRequireDefault(__webpack_require__(36));var _getLongitude=_interopRequireDefault(__webpack_require__(47));function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var getBounds=function getBounds(points){if(Array.isArray(points)===false||points.length===0){throw new Error("No points were given.")}return points.reduce(function(stats,point){var latitude=(0,_getLatitude.default)(point);var longitude=(0,_getLongitude.default)(point);return{maxLat:Math.max(latitude,stats.maxLat),minLat:Math.min(latitude,stats.minLat),maxLng:Math.max(longitude,stats.maxLng),minLng:Math.min(longitude,stats.minLng)}},{maxLat:-Infinity,minLat:Infinity,maxLng:-Infinity,minLng:Infinity})};var _default=getBounds;exports["default"]=_default;
16525
+ Object.defineProperty(exports, "__esModule", ({value:true}));exports["default"]=void 0;var _getLatitude=_interopRequireDefault(__webpack_require__(36));var _getLongitude=_interopRequireDefault(__webpack_require__(47));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const getBounds=points=>{if(Array.isArray(points)===false||points.length===0){throw new Error("No points were given.")}return points.reduce((stats,point)=>{const latitude=(0,_getLatitude.default)(point);const longitude=(0,_getLongitude.default)(point);return{maxLat:Math.max(latitude,stats.maxLat),minLat:Math.min(latitude,stats.minLat),maxLng:Math.max(longitude,stats.maxLng),minLng:Math.min(longitude,stats.minLng)}},{maxLat:-Infinity,minLat:Infinity,maxLng:-Infinity,minLng:Infinity})};var _default=exports["default"]=getBounds;
16327
16526
 
16328
16527
  /***/ }),
16329
16528
  /* 60 */
16330
16529
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
16331
16530
 
16332
16531
  "use strict";
16333
- Object.defineProperty(exports, "__esModule", ({value:true}));exports["default"]=void 0;var _getLatitude=_interopRequireDefault(__webpack_require__(36));var _getLongitude=_interopRequireDefault(__webpack_require__(47));var _toRad=_interopRequireDefault(__webpack_require__(48));var _toDeg=_interopRequireDefault(__webpack_require__(49));var _constants=__webpack_require__(37);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var getBoundsOfDistance=function getBoundsOfDistance(point,distance){var latitude=(0,_getLatitude.default)(point);var longitude=(0,_getLongitude.default)(point);var radLat=(0,_toRad.default)(latitude);var radLon=(0,_toRad.default)(longitude);var radDist=distance/_constants.earthRadius;var minLat=radLat-radDist;var maxLat=radLat+radDist;var MAX_LAT_RAD=(0,_toRad.default)(_constants.MAXLAT);var MIN_LAT_RAD=(0,_toRad.default)(_constants.MINLAT);var MAX_LON_RAD=(0,_toRad.default)(_constants.MAXLON);var MIN_LON_RAD=(0,_toRad.default)(_constants.MINLON);var minLon;var maxLon;if(minLat>MIN_LAT_RAD&&maxLat<MAX_LAT_RAD){var deltaLon=Math.asin(Math.sin(radDist)/Math.cos(radLat));minLon=radLon-deltaLon;if(minLon<MIN_LON_RAD){minLon+=Math.PI*2}maxLon=radLon+deltaLon;if(maxLon>MAX_LON_RAD){maxLon-=Math.PI*2}}else{minLat=Math.max(minLat,MIN_LAT_RAD);maxLat=Math.min(maxLat,MAX_LAT_RAD);minLon=MIN_LON_RAD;maxLon=MAX_LON_RAD}return[{latitude:(0,_toDeg.default)(minLat),longitude:(0,_toDeg.default)(minLon)},{latitude:(0,_toDeg.default)(maxLat),longitude:(0,_toDeg.default)(maxLon)}]};var _default=getBoundsOfDistance;exports["default"]=_default;
16532
+ Object.defineProperty(exports, "__esModule", ({value:true}));exports["default"]=void 0;var _getLatitude=_interopRequireDefault(__webpack_require__(36));var _getLongitude=_interopRequireDefault(__webpack_require__(47));var _toRad=_interopRequireDefault(__webpack_require__(48));var _toDeg=_interopRequireDefault(__webpack_require__(49));var _constants=__webpack_require__(37);function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const getBoundsOfDistance=(point,distance)=>{const latitude=(0,_getLatitude.default)(point);const longitude=(0,_getLongitude.default)(point);const radLat=(0,_toRad.default)(latitude);const radLon=(0,_toRad.default)(longitude);const radDist=distance/_constants.earthRadius;let minLat=radLat-radDist;let maxLat=radLat+radDist;const MAX_LAT_RAD=(0,_toRad.default)(_constants.MAXLAT);const MIN_LAT_RAD=(0,_toRad.default)(_constants.MINLAT);const MAX_LON_RAD=(0,_toRad.default)(_constants.MAXLON);const MIN_LON_RAD=(0,_toRad.default)(_constants.MINLON);let minLon;let maxLon;if(minLat>MIN_LAT_RAD&&maxLat<MAX_LAT_RAD){const deltaLon=Math.asin(Math.sin(radDist)/Math.cos(radLat));minLon=radLon-deltaLon;if(minLon<MIN_LON_RAD){minLon+=Math.PI*2}maxLon=radLon+deltaLon;if(maxLon>MAX_LON_RAD){maxLon-=Math.PI*2}}else{minLat=Math.max(minLat,MIN_LAT_RAD);maxLat=Math.min(maxLat,MAX_LAT_RAD);minLon=MIN_LON_RAD;maxLon=MAX_LON_RAD}return[{latitude:(0,_toDeg.default)(minLat),longitude:(0,_toDeg.default)(minLon)},{latitude:(0,_toDeg.default)(maxLat),longitude:(0,_toDeg.default)(maxLon)}]};var _default=exports["default"]=getBoundsOfDistance;
16334
16533
 
16335
16534
  /***/ }),
16336
16535
  /* 61 */
16337
16536
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
16338
16537
 
16339
16538
  "use strict";
16340
- Object.defineProperty(exports, "__esModule", ({value:true}));exports["default"]=void 0;var _getLatitude=_interopRequireDefault(__webpack_require__(36));var _getLongitude=_interopRequireDefault(__webpack_require__(47));var _toRad=_interopRequireDefault(__webpack_require__(48));var _toDeg=_interopRequireDefault(__webpack_require__(49));function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var getCenter=function getCenter(points){if(Array.isArray(points)===false||points.length===0){return false}var numberOfPoints=points.length;var sum=points.reduce(function(acc,point){var pointLat=(0,_toRad.default)((0,_getLatitude.default)(point));var pointLon=(0,_toRad.default)((0,_getLongitude.default)(point));return{X:acc.X+Math.cos(pointLat)*Math.cos(pointLon),Y:acc.Y+Math.cos(pointLat)*Math.sin(pointLon),Z:acc.Z+Math.sin(pointLat)}},{X:0,Y:0,Z:0});var X=sum.X/numberOfPoints;var Y=sum.Y/numberOfPoints;var Z=sum.Z/numberOfPoints;return{longitude:(0,_toDeg.default)(Math.atan2(Y,X)),latitude:(0,_toDeg.default)(Math.atan2(Z,Math.sqrt(X*X+Y*Y)))}};var _default=getCenter;exports["default"]=_default;
16539
+ Object.defineProperty(exports, "__esModule", ({value:true}));exports["default"]=void 0;var _getLatitude=_interopRequireDefault(__webpack_require__(36));var _getLongitude=_interopRequireDefault(__webpack_require__(47));var _toRad=_interopRequireDefault(__webpack_require__(48));var _toDeg=_interopRequireDefault(__webpack_require__(49));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const getCenter=points=>{if(Array.isArray(points)===false||points.length===0){return false}const numberOfPoints=points.length;const sum=points.reduce((acc,point)=>{const pointLat=(0,_toRad.default)((0,_getLatitude.default)(point));const pointLon=(0,_toRad.default)((0,_getLongitude.default)(point));return{X:acc.X+Math.cos(pointLat)*Math.cos(pointLon),Y:acc.Y+Math.cos(pointLat)*Math.sin(pointLon),Z:acc.Z+Math.sin(pointLat)}},{X:0,Y:0,Z:0});const X=sum.X/numberOfPoints;const Y=sum.Y/numberOfPoints;const Z=sum.Z/numberOfPoints;return{longitude:(0,_toDeg.default)(Math.atan2(Y,X)),latitude:(0,_toDeg.default)(Math.atan2(Z,Math.sqrt(X*X+Y*Y)))}};var _default=exports["default"]=getCenter;
16341
16540
 
16342
16541
  /***/ }),
16343
16542
  /* 62 */
16344
16543
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
16345
16544
 
16346
16545
  "use strict";
16347
- Object.defineProperty(exports, "__esModule", ({value:true}));exports["default"]=void 0;var _getBounds=_interopRequireDefault(__webpack_require__(59));function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var getCenterOfBounds=function getCenterOfBounds(coords){var bounds=(0,_getBounds.default)(coords);var latitude=bounds.minLat+(bounds.maxLat-bounds.minLat)/2;var longitude=bounds.minLng+(bounds.maxLng-bounds.minLng)/2;return{latitude:parseFloat(latitude.toFixed(6)),longitude:parseFloat(longitude.toFixed(6))}};var _default=getCenterOfBounds;exports["default"]=_default;
16546
+ Object.defineProperty(exports, "__esModule", ({value:true}));exports["default"]=void 0;var _getBounds=_interopRequireDefault(__webpack_require__(59));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const getCenterOfBounds=coords=>{const bounds=(0,_getBounds.default)(coords);const latitude=bounds.minLat+(bounds.maxLat-bounds.minLat)/2;const longitude=bounds.minLng+(bounds.maxLng-bounds.minLng)/2;return{latitude:parseFloat(latitude.toFixed(6)),longitude:parseFloat(longitude.toFixed(6))}};var _default=exports["default"]=getCenterOfBounds;
16348
16547
 
16349
16548
  /***/ }),
16350
16549
  /* 63 */
16351
16550
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
16352
16551
 
16353
16552
  "use strict";
16354
- Object.defineProperty(exports, "__esModule", ({value:true}));exports["default"]=void 0;var _getRhumbLineBearing=_interopRequireDefault(__webpack_require__(64));function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var getCompassDirection=function getCompassDirection(origin,dest){var bearingFn=arguments.length>2&&arguments[2]!==undefined?arguments[2]:_getRhumbLineBearing.default;var bearing=typeof bearingFn==="function"?bearingFn(origin,dest):(0,_getRhumbLineBearing.default)(origin,dest);if(isNaN(bearing)){throw new Error("Could not calculate bearing for given points. Check your bearing function")}switch(Math.round(bearing/22.5)){case 1:return"NNE";case 2:return"NE";case 3:return"ENE";case 4:return"E";case 5:return"ESE";case 6:return"SE";case 7:return"SSE";case 8:return"S";case 9:return"SSW";case 10:return"SW";case 11:return"WSW";case 12:return"W";case 13:return"WNW";case 14:return"NW";case 15:return"NNW";default:return"N";}};var _default=getCompassDirection;exports["default"]=_default;
16553
+ Object.defineProperty(exports, "__esModule", ({value:true}));exports["default"]=void 0;var _getRhumbLineBearing=_interopRequireDefault(__webpack_require__(64));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const getCompassDirection=function(origin,dest){let bearingFn=arguments.length>2&&arguments[2]!==undefined?arguments[2]:_getRhumbLineBearing.default;const bearing=typeof bearingFn==="function"?bearingFn(origin,dest):(0,_getRhumbLineBearing.default)(origin,dest);if(isNaN(bearing)){throw new Error("Could not calculate bearing for given points. Check your bearing function")}switch(Math.round(bearing/22.5)){case 1:return"NNE";case 2:return"NE";case 3:return"ENE";case 4:return"E";case 5:return"ESE";case 6:return"SE";case 7:return"SSE";case 8:return"S";case 9:return"SSW";case 10:return"SW";case 11:return"WSW";case 12:return"W";case 13:return"WNW";case 14:return"NW";case 15:return"NNW";default:return"N"}};var _default=exports["default"]=getCompassDirection;
16355
16554
 
16356
16555
  /***/ }),
16357
16556
  /* 64 */
16358
16557
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
16359
16558
 
16360
16559
  "use strict";
16361
- Object.defineProperty(exports, "__esModule", ({value:true}));exports["default"]=void 0;var _getLatitude=_interopRequireDefault(__webpack_require__(36));var _getLongitude=_interopRequireDefault(__webpack_require__(47));var _toRad=_interopRequireDefault(__webpack_require__(48));var _toDeg=_interopRequireDefault(__webpack_require__(49));function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var getRhumbLineBearing=function getRhumbLineBearing(origin,dest){var diffLon=(0,_toRad.default)((0,_getLongitude.default)(dest))-(0,_toRad.default)((0,_getLongitude.default)(origin));var diffPhi=Math.log(Math.tan((0,_toRad.default)((0,_getLatitude.default)(dest))/2+Math.PI/4)/Math.tan((0,_toRad.default)((0,_getLatitude.default)(origin))/2+Math.PI/4));if(Math.abs(diffLon)>Math.PI){if(diffLon>0){diffLon=(Math.PI*2-diffLon)*-1}else{diffLon=Math.PI*2+diffLon}}return((0,_toDeg.default)(Math.atan2(diffLon,diffPhi))+360)%360};var _default=getRhumbLineBearing;exports["default"]=_default;
16560
+ Object.defineProperty(exports, "__esModule", ({value:true}));exports["default"]=void 0;var _getLatitude=_interopRequireDefault(__webpack_require__(36));var _getLongitude=_interopRequireDefault(__webpack_require__(47));var _toRad=_interopRequireDefault(__webpack_require__(48));var _toDeg=_interopRequireDefault(__webpack_require__(49));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const getRhumbLineBearing=(origin,dest)=>{let diffLon=(0,_toRad.default)((0,_getLongitude.default)(dest))-(0,_toRad.default)((0,_getLongitude.default)(origin));const diffPhi=Math.log(Math.tan((0,_toRad.default)((0,_getLatitude.default)(dest))/2+Math.PI/4)/Math.tan((0,_toRad.default)((0,_getLatitude.default)(origin))/2+Math.PI/4));if(Math.abs(diffLon)>Math.PI){if(diffLon>0){diffLon=(Math.PI*2-diffLon)*-1}else{diffLon=Math.PI*2+diffLon}}return((0,_toDeg.default)(Math.atan2(diffLon,diffPhi))+360)%360};var _default=exports["default"]=getRhumbLineBearing;
16362
16561
 
16363
16562
  /***/ }),
16364
16563
  /* 65 */
16365
16564
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
16366
16565
 
16367
16566
  "use strict";
16368
- Object.defineProperty(exports, "__esModule", ({value:true}));exports["default"]=void 0;var _getDistance=_interopRequireDefault(__webpack_require__(56));var _robustAcos=_interopRequireDefault(__webpack_require__(57));function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var getDistanceFromLine=function getDistanceFromLine(point,lineStart,lineEnd){var accuracy=arguments.length>3&&arguments[3]!==undefined?arguments[3]:1;var d1=(0,_getDistance.default)(lineStart,point,accuracy);var d2=(0,_getDistance.default)(point,lineEnd,accuracy);var d3=(0,_getDistance.default)(lineStart,lineEnd,accuracy);var alpha=Math.acos((0,_robustAcos.default)((d1*d1+d3*d3-d2*d2)/(2*d1*d3)));var beta=Math.acos((0,_robustAcos.default)((d2*d2+d3*d3-d1*d1)/(2*d2*d3)));if(alpha>Math.PI/2){return d1}if(beta>Math.PI/2){return d2}return Math.sin(alpha)*d1};var _default=getDistanceFromLine;exports["default"]=_default;
16567
+ Object.defineProperty(exports, "__esModule", ({value:true}));exports["default"]=void 0;var _getDistance=_interopRequireDefault(__webpack_require__(56));var _robustAcos=_interopRequireDefault(__webpack_require__(57));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const getDistanceFromLine=function(point,lineStart,lineEnd){let accuracy=arguments.length>3&&arguments[3]!==undefined?arguments[3]:1;const d1=(0,_getDistance.default)(lineStart,point,accuracy);const d2=(0,_getDistance.default)(point,lineEnd,accuracy);const d3=(0,_getDistance.default)(lineStart,lineEnd,accuracy);const alpha=Math.acos((0,_robustAcos.default)((d1*d1+d3*d3-d2*d2)/(2*d1*d3)));const beta=Math.acos((0,_robustAcos.default)((d2*d2+d3*d3-d1*d1)/(2*d2*d3)));const pointAtLineStart=d1===0;const pointAtLineEnd=d2===0;if(pointAtLineStart||pointAtLineEnd){return 0}const lineLengthZero=d3===0;if(lineLengthZero){return d1}if(alpha>Math.PI/2){return d1}if(beta>Math.PI/2){return d2}return Math.sin(alpha)*d1};var _default=exports["default"]=getDistanceFromLine;
16369
16568
 
16370
16569
  /***/ }),
16371
16570
  /* 66 */
16372
16571
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
16373
16572
 
16374
16573
  "use strict";
16375
- Object.defineProperty(exports, "__esModule", ({value:true}));exports["default"]=void 0;var _getLatitude=_interopRequireDefault(__webpack_require__(36));var _getLongitude=_interopRequireDefault(__webpack_require__(47));var _toRad=_interopRequireDefault(__webpack_require__(48));var _toDeg=_interopRequireDefault(__webpack_require__(49));function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var getGreatCircleBearing=function getGreatCircleBearing(origin,dest){var destLat=(0,_getLatitude.default)(dest);var detLon=(0,_getLongitude.default)(dest);var originLat=(0,_getLatitude.default)(origin);var originLon=(0,_getLongitude.default)(origin);var bearing=((0,_toDeg.default)(Math.atan2(Math.sin((0,_toRad.default)(detLon)-(0,_toRad.default)(originLon))*Math.cos((0,_toRad.default)(destLat)),Math.cos((0,_toRad.default)(originLat))*Math.sin((0,_toRad.default)(destLat))-Math.sin((0,_toRad.default)(originLat))*Math.cos((0,_toRad.default)(destLat))*Math.cos((0,_toRad.default)(detLon)-(0,_toRad.default)(originLon))))+360)%360;return bearing};var _default=getGreatCircleBearing;exports["default"]=_default;
16574
+ Object.defineProperty(exports, "__esModule", ({value:true}));exports["default"]=void 0;var _getLatitude=_interopRequireDefault(__webpack_require__(36));var _getLongitude=_interopRequireDefault(__webpack_require__(47));var _toRad=_interopRequireDefault(__webpack_require__(48));var _toDeg=_interopRequireDefault(__webpack_require__(49));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const getGreatCircleBearing=(origin,dest)=>{const destLat=(0,_getLatitude.default)(dest);const detLon=(0,_getLongitude.default)(dest);const originLat=(0,_getLatitude.default)(origin);const originLon=(0,_getLongitude.default)(origin);const bearing=((0,_toDeg.default)(Math.atan2(Math.sin((0,_toRad.default)(detLon)-(0,_toRad.default)(originLon))*Math.cos((0,_toRad.default)(destLat)),Math.cos((0,_toRad.default)(originLat))*Math.sin((0,_toRad.default)(destLat))-Math.sin((0,_toRad.default)(originLat))*Math.cos((0,_toRad.default)(destLat))*Math.cos((0,_toRad.default)(detLon)-(0,_toRad.default)(originLon))))+360)%360;return bearing};var _default=exports["default"]=getGreatCircleBearing;
16376
16575
 
16377
16576
  /***/ }),
16378
16577
  /* 67 */
16379
16578
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
16380
16579
 
16381
16580
  "use strict";
16382
- Object.defineProperty(exports, "__esModule", ({value:true}));exports["default"]=void 0;var _getDistance=_interopRequireDefault(__webpack_require__(56));function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}var getPathLength=function getPathLength(points){var distanceFn=arguments.length>1&&arguments[1]!==undefined?arguments[1]:_getDistance.default;return points.reduce(function(acc,point){if(_typeof(acc)==="object"&&acc.last!==null){acc.distance+=distanceFn(point,acc.last)}acc.last=point;return acc},{last:null,distance:0}).distance};var _default=getPathLength;exports["default"]=_default;
16581
+ Object.defineProperty(exports, "__esModule", ({value:true}));exports["default"]=void 0;var _getDistance=_interopRequireDefault(__webpack_require__(56));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const getPathLength=function(points){let distanceFn=arguments.length>1&&arguments[1]!==undefined?arguments[1]:_getDistance.default;return points.reduce((acc,point)=>{if(typeof acc==="object"&&acc.last!==null){acc.distance+=distanceFn(point,acc.last)}acc.last=point;return acc},{last:null,distance:0}).distance};var _default=exports["default"]=getPathLength;
16383
16582
 
16384
16583
  /***/ }),
16385
16584
  /* 68 */
16386
16585
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
16387
16586
 
16388
16587
  "use strict";
16389
- Object.defineProperty(exports, "__esModule", ({value:true}));exports["default"]=void 0;var _getLatitude=_interopRequireDefault(__webpack_require__(36));var _getLongitude=_interopRequireDefault(__webpack_require__(47));var _toRad=_interopRequireDefault(__webpack_require__(48));var _constants=__webpack_require__(37);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var getDistance=function getDistance(start,end){var accuracy=arguments.length>2&&arguments[2]!==undefined?arguments[2]:1;accuracy=typeof accuracy!=="undefined"&&!isNaN(accuracy)?accuracy:1;var startLat=(0,_getLatitude.default)(start);var startLon=(0,_getLongitude.default)(start);var endLat=(0,_getLatitude.default)(end);var endLon=(0,_getLongitude.default)(end);var b=6356752.314245;var ellipsoidParams=1/298.257223563;var L=(0,_toRad.default)(endLon-startLon);var cosSigma;var sigma;var sinAlpha;var cosSqAlpha;var cos2SigmaM;var sinSigma;var U1=Math.atan((1-ellipsoidParams)*Math.tan((0,_toRad.default)(parseFloat(startLat))));var U2=Math.atan((1-ellipsoidParams)*Math.tan((0,_toRad.default)(parseFloat(endLat))));var sinU1=Math.sin(U1);var cosU1=Math.cos(U1);var sinU2=Math.sin(U2);var cosU2=Math.cos(U2);var lambda=L;var lambdaP;var iterLimit=100;do{var sinLambda=Math.sin(lambda);var cosLambda=Math.cos(lambda);sinSigma=Math.sqrt(cosU2*sinLambda*(cosU2*sinLambda)+(cosU1*sinU2-sinU1*cosU2*cosLambda)*(cosU1*sinU2-sinU1*cosU2*cosLambda));if(sinSigma===0){return 0}cosSigma=sinU1*sinU2+cosU1*cosU2*cosLambda;sigma=Math.atan2(sinSigma,cosSigma);sinAlpha=cosU1*cosU2*sinLambda/sinSigma;cosSqAlpha=1-sinAlpha*sinAlpha;cos2SigmaM=cosSigma-2*sinU1*sinU2/cosSqAlpha;if(isNaN(cos2SigmaM)){cos2SigmaM=0}var C=ellipsoidParams/16*cosSqAlpha*(4+ellipsoidParams*(4-3*cosSqAlpha));lambdaP=lambda;lambda=L+(1-C)*ellipsoidParams*sinAlpha*(sigma+C*sinSigma*(cos2SigmaM+C*cosSigma*(-1+2*cos2SigmaM*cos2SigmaM)))}while(Math.abs(lambda-lambdaP)>1e-12&&--iterLimit>0);if(iterLimit===0){return NaN}var uSq=cosSqAlpha*(_constants.earthRadius*_constants.earthRadius-b*b)/(b*b);var A=1+uSq/16384*(4096+uSq*(-768+uSq*(320-175*uSq)));var B=uSq/1024*(256+uSq*(-128+uSq*(74-47*uSq)));var deltaSigma=B*sinSigma*(cos2SigmaM+B/4*(cosSigma*(-1+2*cos2SigmaM*cos2SigmaM)-B/6*cos2SigmaM*(-3+4*sinSigma*sinSigma)*(-3+4*cos2SigmaM*cos2SigmaM)));var distance=b*A*(sigma-deltaSigma);return Math.round(distance/accuracy)*accuracy};var _default=getDistance;exports["default"]=_default;
16588
+ Object.defineProperty(exports, "__esModule", ({value:true}));exports["default"]=void 0;var _getLatitude=_interopRequireDefault(__webpack_require__(36));var _getLongitude=_interopRequireDefault(__webpack_require__(47));var _toRad=_interopRequireDefault(__webpack_require__(48));var _constants=__webpack_require__(37);function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const getDistance=function(start,end){let accuracy=arguments.length>2&&arguments[2]!==undefined?arguments[2]:1;accuracy=!isNaN(accuracy)?accuracy:1;const startLat=(0,_getLatitude.default)(start);const startLon=(0,_getLongitude.default)(start);const endLat=(0,_getLatitude.default)(end);const endLon=(0,_getLongitude.default)(end);const b=6356752.314245;const ellipsoidParams=1/298.257223563;const L=(0,_toRad.default)(endLon-startLon);let cosSigma;let sigma;let sinAlpha;let cosSqAlpha;let cos2SigmaM;let sinSigma;const U1=Math.atan((1-ellipsoidParams)*Math.tan((0,_toRad.default)(parseFloat(startLat))));const U2=Math.atan((1-ellipsoidParams)*Math.tan((0,_toRad.default)(parseFloat(endLat))));const sinU1=Math.sin(U1);const cosU1=Math.cos(U1);const sinU2=Math.sin(U2);const cosU2=Math.cos(U2);let lambda=L;let lambdaP;let iterLimit=100;do{const sinLambda=Math.sin(lambda);const cosLambda=Math.cos(lambda);sinSigma=Math.sqrt(cosU2*sinLambda*(cosU2*sinLambda)+(cosU1*sinU2-sinU1*cosU2*cosLambda)*(cosU1*sinU2-sinU1*cosU2*cosLambda));if(sinSigma===0){return 0}cosSigma=sinU1*sinU2+cosU1*cosU2*cosLambda;sigma=Math.atan2(sinSigma,cosSigma);sinAlpha=cosU1*cosU2*sinLambda/sinSigma;cosSqAlpha=1-sinAlpha*sinAlpha;cos2SigmaM=cosSigma-2*sinU1*sinU2/cosSqAlpha;if(isNaN(cos2SigmaM)){cos2SigmaM=0}const C=ellipsoidParams/16*cosSqAlpha*(4+ellipsoidParams*(4-3*cosSqAlpha));lambdaP=lambda;lambda=L+(1-C)*ellipsoidParams*sinAlpha*(sigma+C*sinSigma*(cos2SigmaM+C*cosSigma*(-1+2*cos2SigmaM*cos2SigmaM)))}while(Math.abs(lambda-lambdaP)>1e-12&&--iterLimit>0);if(iterLimit===0){return NaN}const uSq=cosSqAlpha*(_constants.earthRadius*_constants.earthRadius-b*b)/(b*b);const A=1+uSq/16384*(4096+uSq*(-768+uSq*(320-175*uSq)));const B=uSq/1024*(256+uSq*(-128+uSq*(74-47*uSq)));const deltaSigma=B*sinSigma*(cos2SigmaM+B/4*(cosSigma*(-1+2*cos2SigmaM*cos2SigmaM)-B/6*cos2SigmaM*(-3+4*sinSigma*sinSigma)*(-3+4*cos2SigmaM*cos2SigmaM)));const distance=b*A*(sigma-deltaSigma);return Math.round(distance/accuracy)*accuracy};var _default=exports["default"]=getDistance;
16390
16589
 
16391
16590
  /***/ }),
16392
16591
  /* 69 */
16393
16592
  /***/ ((__unused_webpack_module, exports) => {
16394
16593
 
16395
16594
  "use strict";
16396
- Object.defineProperty(exports, "__esModule", ({value:true}));exports["default"]=void 0;var getRoughCompassDirection=function getRoughCompassDirection(exact){if(/^(NNE|NE|NNW|N)$/.test(exact)){return"N"}if(/^(ENE|E|ESE|SE)$/.test(exact)){return"E"}if(/^(SSE|S|SSW|SW)$/.test(exact)){return"S"}if(/^(WSW|W|WNW|NW)$/.test(exact)){return"W"}};var _default=getRoughCompassDirection;exports["default"]=_default;
16595
+ Object.defineProperty(exports, "__esModule", ({value:true}));exports["default"]=void 0;const getRoughCompassDirection=exact=>{if(/^(NNE|NE|NNW|N)$/.test(exact)){return"N"}if(/^(ENE|E|ESE|SE)$/.test(exact)){return"E"}if(/^(SSE|S|SSW|SW)$/.test(exact)){return"S"}if(/^(WSW|W|WNW|NW)$/.test(exact)){return"W"}};var _default=exports["default"]=getRoughCompassDirection;
16397
16596
 
16398
16597
  /***/ }),
16399
16598
  /* 70 */
16400
16599
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
16401
16600
 
16402
16601
  "use strict";
16403
- Object.defineProperty(exports, "__esModule", ({value:true}));exports["default"]=void 0;var _getDistance=_interopRequireDefault(__webpack_require__(56));function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var getSpeed=function getSpeed(start,end){var distanceFn=arguments.length>2&&arguments[2]!==undefined?arguments[2]:_getDistance.default;var distance=distanceFn(start,end);var time=Number(end.time)-Number(start.time);var metersPerSecond=distance/time*1000;return metersPerSecond};var _default=getSpeed;exports["default"]=_default;
16602
+ Object.defineProperty(exports, "__esModule", ({value:true}));exports["default"]=void 0;var _getDistance=_interopRequireDefault(__webpack_require__(56));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const getSpeed=function(start,end){let distanceFn=arguments.length>2&&arguments[2]!==undefined?arguments[2]:_getDistance.default;const distance=distanceFn(start,end);const time=Number(end.time)-Number(start.time);const metersPerSecond=distance/time*1000;return metersPerSecond};var _default=exports["default"]=getSpeed;
16404
16603
 
16405
16604
  /***/ }),
16406
16605
  /* 71 */
16407
16606
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
16408
16607
 
16409
16608
  "use strict";
16410
- Object.defineProperty(exports, "__esModule", ({value:true}));exports["default"]=void 0;var _getDistance=_interopRequireDefault(__webpack_require__(56));function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var isPointInLine=function isPointInLine(point,lineStart,lineEnd){return(0,_getDistance.default)(lineStart,point)+(0,_getDistance.default)(point,lineEnd)===(0,_getDistance.default)(lineStart,lineEnd)};var _default=isPointInLine;exports["default"]=_default;
16609
+ Object.defineProperty(exports, "__esModule", ({value:true}));exports["default"]=void 0;var _getDistance=_interopRequireDefault(__webpack_require__(56));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const isPointInLine=(point,lineStart,lineEnd)=>{return(0,_getDistance.default)(lineStart,point)+(0,_getDistance.default)(point,lineEnd)===(0,_getDistance.default)(lineStart,lineEnd)};var _default=exports["default"]=isPointInLine;
16411
16610
 
16412
16611
  /***/ }),
16413
16612
  /* 72 */
16414
16613
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
16415
16614
 
16416
16615
  "use strict";
16417
- Object.defineProperty(exports, "__esModule", ({value:true}));exports["default"]=void 0;var _getLatitude=_interopRequireDefault(__webpack_require__(36));var _getLongitude=_interopRequireDefault(__webpack_require__(47));function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var isPointInPolygon=function isPointInPolygon(point,polygon){var isInside=false;var totalPolys=polygon.length;for(var i=-1,j=totalPolys-1;++i<totalPolys;j=i){if(((0,_getLongitude.default)(polygon[i])<=(0,_getLongitude.default)(point)&&(0,_getLongitude.default)(point)<(0,_getLongitude.default)(polygon[j])||(0,_getLongitude.default)(polygon[j])<=(0,_getLongitude.default)(point)&&(0,_getLongitude.default)(point)<(0,_getLongitude.default)(polygon[i]))&&(0,_getLatitude.default)(point)<((0,_getLatitude.default)(polygon[j])-(0,_getLatitude.default)(polygon[i]))*((0,_getLongitude.default)(point)-(0,_getLongitude.default)(polygon[i]))/((0,_getLongitude.default)(polygon[j])-(0,_getLongitude.default)(polygon[i]))+(0,_getLatitude.default)(polygon[i])){isInside=!isInside}}return isInside};var _default=isPointInPolygon;exports["default"]=_default;
16616
+ Object.defineProperty(exports, "__esModule", ({value:true}));exports["default"]=void 0;var _getLatitude=_interopRequireDefault(__webpack_require__(36));var _getLongitude=_interopRequireDefault(__webpack_require__(47));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const isPointInPolygon=(point,polygon)=>{let isInside=false;const totalPolys=polygon.length;for(let i=-1,j=totalPolys-1;++i<totalPolys;j=i){if(((0,_getLongitude.default)(polygon[i])<=(0,_getLongitude.default)(point)&&(0,_getLongitude.default)(point)<(0,_getLongitude.default)(polygon[j])||(0,_getLongitude.default)(polygon[j])<=(0,_getLongitude.default)(point)&&(0,_getLongitude.default)(point)<(0,_getLongitude.default)(polygon[i]))&&(0,_getLatitude.default)(point)<((0,_getLatitude.default)(polygon[j])-(0,_getLatitude.default)(polygon[i]))*((0,_getLongitude.default)(point)-(0,_getLongitude.default)(polygon[i]))/((0,_getLongitude.default)(polygon[j])-(0,_getLongitude.default)(polygon[i]))+(0,_getLatitude.default)(polygon[i])){isInside=!isInside}}return isInside};var _default=exports["default"]=isPointInPolygon;
16418
16617
 
16419
16618
  /***/ }),
16420
16619
  /* 73 */
16421
16620
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
16422
16621
 
16423
16622
  "use strict";
16424
- Object.defineProperty(exports, "__esModule", ({value:true}));exports["default"]=void 0;var _getDistanceFromLine=_interopRequireDefault(__webpack_require__(65));function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var isPointNearLine=function isPointNearLine(point,start,end,distance){return(0,_getDistanceFromLine.default)(point,start,end)<distance};var _default=isPointNearLine;exports["default"]=_default;
16623
+ Object.defineProperty(exports, "__esModule", ({value:true}));exports["default"]=void 0;var _getDistanceFromLine=_interopRequireDefault(__webpack_require__(65));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const isPointNearLine=(point,start,end,distance)=>(0,_getDistanceFromLine.default)(point,start,end)<distance;var _default=exports["default"]=isPointNearLine;
16425
16624
 
16426
16625
  /***/ }),
16427
16626
  /* 74 */
16428
16627
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
16429
16628
 
16430
16629
  "use strict";
16431
- Object.defineProperty(exports, "__esModule", ({value:true}));exports["default"]=void 0;var _getDistance=_interopRequireDefault(__webpack_require__(56));function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var isPointWithinRadius=function isPointWithinRadius(point,center,radius){var accuracy=0.01;return(0,_getDistance.default)(point,center,accuracy)<radius};var _default=isPointWithinRadius;exports["default"]=_default;
16630
+ Object.defineProperty(exports, "__esModule", ({value:true}));exports["default"]=void 0;var _getDistance=_interopRequireDefault(__webpack_require__(56));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const isPointWithinRadius=(point,center,radius)=>{const accuracy=0.01;return(0,_getDistance.default)(point,center,accuracy)<radius};var _default=exports["default"]=isPointWithinRadius;
16432
16631
 
16433
16632
  /***/ }),
16434
16633
  /* 75 */
16435
16634
  /***/ ((__unused_webpack_module, exports) => {
16436
16635
 
16437
16636
  "use strict";
16438
- Object.defineProperty(exports, "__esModule", ({value:true}));exports["default"]=void 0;function _slicedToArray(arr,i){return _arrayWithHoles(arr)||_iterableToArrayLimit(arr,i)||_unsupportedIterableToArray(arr,i)||_nonIterableRest()}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(o,minLen){if(!o)return;if(typeof o==="string")return _arrayLikeToArray(o,minLen);var n=Object.prototype.toString.call(o).slice(8,-1);if(n==="Object"&&o.constructor)n=o.constructor.name;if(n==="Map"||n==="Set")return Array.from(o);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _arrayLikeToArray(o,minLen)}function _arrayLikeToArray(arr,len){if(len==null||len>arr.length)len=arr.length;for(var i=0,arr2=new Array(len);i<len;i++){arr2[i]=arr[i]}return arr2}function _iterableToArrayLimit(arr,i){if(typeof Symbol==="undefined"||!(Symbol.iterator in Object(arr)))return;var _arr=[];var _n=true;var _d=false;var _e=undefined;try{for(var _i=arr[Symbol.iterator](),_s;!(_n=(_s=_i.next()).done);_n=true){_arr.push(_s.value);if(i&&_arr.length===i)break}}catch(err){_d=true;_e=err}finally{try{if(!_n&&_i["return"]!=null)_i["return"]()}finally{if(_d)throw _e}}return _arr}function _arrayWithHoles(arr){if(Array.isArray(arr))return arr}var wktToPolygon=function wktToPolygon(wkt){if(!wkt.startsWith("POLYGON")){throw new Error("Invalid wkt.")}var coordsText=wkt.slice(wkt.indexOf("(")+2,wkt.indexOf(")")).split(", ");var polygon=coordsText.map(function(coordText){var _coordText$split=coordText.split(" "),_coordText$split2=_slicedToArray(_coordText$split,2),longitude=_coordText$split2[0],latitude=_coordText$split2[1];return{longitude:parseFloat(longitude),latitude:parseFloat(latitude)}});return polygon};var _default=wktToPolygon;exports["default"]=_default;
16637
+ Object.defineProperty(exports, "__esModule", ({value:true}));exports["default"]=void 0;const wktToPolygon=wkt=>{if(!wkt.startsWith("POLYGON")){throw new Error("Invalid wkt.")}const coordsText=wkt.slice(wkt.indexOf("(")+2,wkt.indexOf(")")).split(", ");const polygon=coordsText.map(coordText=>{const[longitude,latitude]=coordText.split(" ");return{longitude:parseFloat(longitude),latitude:parseFloat(latitude)}});return polygon};var _default=exports["default"]=wktToPolygon;
16439
16638
 
16440
16639
  /***/ }),
16441
16640
  /* 76 */
@@ -16712,13 +16911,14 @@ __webpack_require__.r(__webpack_exports__);
16712
16911
  /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
16713
16912
  /* harmony export */ });
16714
16913
  var PopupOptions = /** @class */ (function () {
16715
- function PopupOptions(latlng, content, marker, conditionMarker, notCalledByMap, object) {
16914
+ function PopupOptions(latlng, content, marker, conditionMarker, notCalledByMap, object, onClose) {
16716
16915
  this.latlng = latlng;
16717
16916
  this.content = content;
16718
16917
  this.marker = marker;
16719
16918
  this.conditionMarker = conditionMarker;
16720
16919
  this.notCalledByMap = notCalledByMap;
16721
16920
  this.object = object;
16921
+ this.onClose = onClose;
16722
16922
  }
16723
16923
  return PopupOptions;
16724
16924
  }());
@@ -16838,7 +17038,7 @@ var HeatMapOptions = /** @class */ (function () {
16838
17038
  /******/
16839
17039
  /************************************************************************/
16840
17040
  var __webpack_exports__ = {};
16841
- // This entry need to be wrapped in an IIFE because it need to be in strict mode.
17041
+ // This entry needs to be wrapped in an IIFE because it needs to be in strict mode.
16842
17042
  (() => {
16843
17043
  "use strict";
16844
17044
  __webpack_require__.r(__webpack_exports__);