umap-project 3.4.2__py3-none-any.whl → 3.6.1__py3-none-any.whl

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 (170) hide show
  1. umap/__init__.py +1 -1
  2. umap/locale/br/LC_MESSAGES/django.mo +0 -0
  3. umap/locale/br/LC_MESSAGES/django.po +71 -57
  4. umap/locale/de/LC_MESSAGES/django.mo +0 -0
  5. umap/locale/de/LC_MESSAGES/django.po +20 -16
  6. umap/locale/en/LC_MESSAGES/django.po +14 -14
  7. umap/locale/hu/LC_MESSAGES/django.mo +0 -0
  8. umap/locale/hu/LC_MESSAGES/django.po +20 -16
  9. umap/locale/pl/LC_MESSAGES/django.mo +0 -0
  10. umap/locale/pl/LC_MESSAGES/django.po +32 -27
  11. umap/locale/zh_TW/LC_MESSAGES/django.mo +0 -0
  12. umap/locale/zh_TW/LC_MESSAGES/django.po +20 -16
  13. umap/management/commands/clean_tilelayer.py +0 -1
  14. umap/management/commands/search_maps.py +95 -0
  15. umap/settings/__init__.py +9 -1
  16. umap/settings/base.py +7 -6
  17. umap/static/umap/css/icon.css +8 -0
  18. umap/static/umap/img/16-white.svg +5 -2
  19. umap/static/umap/img/16.svg +1 -1
  20. umap/static/umap/img/source/16-white.svg +7 -4
  21. umap/static/umap/img/source/16.svg +1 -1
  22. umap/static/umap/js/modules/autocomplete.js +1 -9
  23. umap/static/umap/js/modules/browser.js +27 -10
  24. umap/static/umap/js/modules/data/features.js +3 -2
  25. umap/static/umap/js/modules/data/fields.js +12 -2
  26. umap/static/umap/js/modules/data/layer.js +13 -9
  27. umap/static/umap/js/modules/domutils.js +4 -0
  28. umap/static/umap/js/modules/filters.js +11 -10
  29. umap/static/umap/js/modules/form/builder.js +17 -16
  30. umap/static/umap/js/modules/form/fields.js +16 -16
  31. umap/static/umap/js/modules/permissions.js +10 -2
  32. umap/static/umap/js/modules/rendering/controls.js +202 -9
  33. umap/static/umap/js/modules/rendering/layers/classified.js +1 -1
  34. umap/static/umap/js/modules/rendering/map.js +45 -35
  35. umap/static/umap/js/modules/rendering/template.js +12 -6
  36. umap/static/umap/js/modules/rules.js +1 -1
  37. umap/static/umap/js/modules/ui/bar.js +2 -1
  38. umap/static/umap/js/modules/ui/hash.js +36 -0
  39. umap/static/umap/js/modules/ui/loader.js +26 -0
  40. umap/static/umap/js/modules/ui/panel.js +7 -0
  41. umap/static/umap/js/modules/umap.js +6 -0
  42. umap/static/umap/js/modules/utils.js +5 -4
  43. umap/static/umap/js/umap.controls.js +0 -182
  44. umap/static/umap/locale/am_ET.js +2 -5
  45. umap/static/umap/locale/am_ET.json +2 -5
  46. umap/static/umap/locale/ar.js +2 -5
  47. umap/static/umap/locale/ar.json +2 -5
  48. umap/static/umap/locale/ast.js +2 -5
  49. umap/static/umap/locale/ast.json +2 -5
  50. umap/static/umap/locale/bg.js +2 -5
  51. umap/static/umap/locale/bg.json +2 -5
  52. umap/static/umap/locale/br.js +40 -43
  53. umap/static/umap/locale/br.json +40 -43
  54. umap/static/umap/locale/ca.js +2 -5
  55. umap/static/umap/locale/ca.json +2 -5
  56. umap/static/umap/locale/cs_CZ.js +0 -3
  57. umap/static/umap/locale/cs_CZ.json +0 -3
  58. umap/static/umap/locale/da.js +1 -4
  59. umap/static/umap/locale/da.json +1 -4
  60. umap/static/umap/locale/de.js +27 -30
  61. umap/static/umap/locale/de.json +27 -30
  62. umap/static/umap/locale/el.js +0 -3
  63. umap/static/umap/locale/el.json +0 -3
  64. umap/static/umap/locale/en.js +0 -3
  65. umap/static/umap/locale/en.json +0 -3
  66. umap/static/umap/locale/en_US.json +2 -5
  67. umap/static/umap/locale/es.js +0 -3
  68. umap/static/umap/locale/es.json +0 -3
  69. umap/static/umap/locale/et.js +0 -3
  70. umap/static/umap/locale/et.json +0 -3
  71. umap/static/umap/locale/eu.js +0 -3
  72. umap/static/umap/locale/eu.json +0 -3
  73. umap/static/umap/locale/fa_IR.js +0 -3
  74. umap/static/umap/locale/fa_IR.json +0 -3
  75. umap/static/umap/locale/fi.js +2 -5
  76. umap/static/umap/locale/fi.json +2 -5
  77. umap/static/umap/locale/fr.js +3 -6
  78. umap/static/umap/locale/fr.json +3 -6
  79. umap/static/umap/locale/gl.js +0 -3
  80. umap/static/umap/locale/gl.json +0 -3
  81. umap/static/umap/locale/he.js +2 -5
  82. umap/static/umap/locale/he.json +2 -5
  83. umap/static/umap/locale/hr.js +2 -5
  84. umap/static/umap/locale/hr.json +2 -5
  85. umap/static/umap/locale/hu.js +7 -10
  86. umap/static/umap/locale/hu.json +7 -10
  87. umap/static/umap/locale/id.js +2 -5
  88. umap/static/umap/locale/id.json +2 -5
  89. umap/static/umap/locale/is.js +0 -3
  90. umap/static/umap/locale/is.json +0 -3
  91. umap/static/umap/locale/it.js +0 -3
  92. umap/static/umap/locale/it.json +0 -3
  93. umap/static/umap/locale/ja.js +2 -5
  94. umap/static/umap/locale/ja.json +2 -5
  95. umap/static/umap/locale/ko.js +2 -5
  96. umap/static/umap/locale/ko.json +2 -5
  97. umap/static/umap/locale/lt.js +2 -5
  98. umap/static/umap/locale/lt.json +2 -5
  99. umap/static/umap/locale/ms.js +0 -3
  100. umap/static/umap/locale/ms.json +0 -3
  101. umap/static/umap/locale/nl.js +0 -3
  102. umap/static/umap/locale/nl.json +0 -3
  103. umap/static/umap/locale/no.js +2 -5
  104. umap/static/umap/locale/no.json +2 -5
  105. umap/static/umap/locale/pl.js +2 -5
  106. umap/static/umap/locale/pl.json +2 -5
  107. umap/static/umap/locale/pl_PL.json +2 -5
  108. umap/static/umap/locale/pt.js +0 -3
  109. umap/static/umap/locale/pt.json +0 -3
  110. umap/static/umap/locale/pt_BR.js +2 -5
  111. umap/static/umap/locale/pt_BR.json +2 -5
  112. umap/static/umap/locale/pt_PT.js +2 -5
  113. umap/static/umap/locale/pt_PT.json +2 -5
  114. umap/static/umap/locale/ro.js +2 -5
  115. umap/static/umap/locale/ro.json +2 -5
  116. umap/static/umap/locale/ru.js +2 -5
  117. umap/static/umap/locale/ru.json +2 -5
  118. umap/static/umap/locale/sk_SK.js +2 -5
  119. umap/static/umap/locale/sk_SK.json +2 -5
  120. umap/static/umap/locale/sl.js +2 -5
  121. umap/static/umap/locale/sl.json +2 -5
  122. umap/static/umap/locale/sr.js +2 -5
  123. umap/static/umap/locale/sr.json +2 -5
  124. umap/static/umap/locale/sv.js +2 -5
  125. umap/static/umap/locale/sv.json +2 -5
  126. umap/static/umap/locale/th_TH.js +2 -5
  127. umap/static/umap/locale/th_TH.json +2 -5
  128. umap/static/umap/locale/tr.js +2 -5
  129. umap/static/umap/locale/tr.json +2 -5
  130. umap/static/umap/locale/uk_UA.js +2 -5
  131. umap/static/umap/locale/uk_UA.json +2 -5
  132. umap/static/umap/locale/vi.js +2 -5
  133. umap/static/umap/locale/vi.json +2 -5
  134. umap/static/umap/locale/vi_VN.json +2 -5
  135. umap/static/umap/locale/zh.js +2 -5
  136. umap/static/umap/locale/zh.json +2 -5
  137. umap/static/umap/locale/zh_CN.json +2 -5
  138. umap/static/umap/locale/zh_TW.Big5.json +2 -5
  139. umap/static/umap/locale/zh_TW.js +1 -4
  140. umap/static/umap/locale/zh_TW.json +1 -4
  141. umap/static/umap/map.css +1 -17
  142. umap/static/umap/vendors/locatecontrol/L.Control.Locate.esm.js +942 -0
  143. umap/static/umap/vendors/photon/leaflet.photon.esm.js +472 -0
  144. umap/sync/app.py +4 -1
  145. umap/templates/umap/css.html +0 -2
  146. umap/templates/umap/js.html +0 -5
  147. umap/templates/umap/team_form.html +2 -1
  148. umap/tests/fixtures/test_upload_data_with_enum.umap +151 -0
  149. umap/tests/integration/test_edit_map.py +2 -0
  150. umap/tests/integration/test_filters.py +24 -0
  151. umap/tests/integration/test_import.py +40 -23
  152. umap/tests/integration/test_map.py +1 -1
  153. umap/tests/integration/test_optimistic_merge.py +7 -1
  154. umap/tests/integration/test_remote_data.py +1 -1
  155. umap/tests/test_search_maps_command.py +44 -0
  156. umap/utils.py +9 -3
  157. umap/views.py +17 -4
  158. {umap_project-3.4.2.dist-info → umap_project-3.6.1.dist-info}/METADATA +24 -18
  159. {umap_project-3.4.2.dist-info → umap_project-3.6.1.dist-info}/RECORD +162 -163
  160. {umap_project-3.4.2.dist-info → umap_project-3.6.1.dist-info}/WHEEL +1 -1
  161. umap/static/umap/vendors/hash/leaflet-hash.js +0 -162
  162. umap/static/umap/vendors/loading/Control.Loading.css +0 -26
  163. umap/static/umap/vendors/loading/Control.Loading.js +0 -351
  164. umap/static/umap/vendors/locatecontrol/L.Control.Locate.min.css +0 -1
  165. umap/static/umap/vendors/locatecontrol/L.Control.Locate.min.css.map +0 -1
  166. umap/static/umap/vendors/locatecontrol/L.Control.Locate.min.js +0 -4
  167. umap/static/umap/vendors/locatecontrol/L.Control.Locate.min.js.map +0 -1
  168. umap/static/umap/vendors/photon/leaflet.photon.js +0 -487
  169. {umap_project-3.4.2.dist-info → umap_project-3.6.1.dist-info}/entry_points.txt +0 -0
  170. {umap_project-3.4.2.dist-info → umap_project-3.6.1.dist-info}/licenses/LICENSE +0 -0
@@ -1,162 +0,0 @@
1
- (function(window) {
2
- var HAS_HASHCHANGE = (function() {
3
- var doc_mode = window.documentMode;
4
- return ('onhashchange' in window) &&
5
- (doc_mode === undefined || doc_mode > 7);
6
- })();
7
-
8
- L.Hash = function(map) {
9
- this.onHashChange = L.Util.bind(this.onHashChange, this);
10
-
11
- if (map) {
12
- this.init(map);
13
- }
14
- };
15
-
16
- L.Hash.parseHash = function(hash) {
17
- if(hash.indexOf('#') === 0) {
18
- hash = hash.substr(1);
19
- }
20
- var args = hash.split("/");
21
- if (args.length == 3) {
22
- var zoom = parseInt(args[0], 10),
23
- lat = parseFloat(args[1]),
24
- lon = parseFloat(args[2]);
25
- if (isNaN(zoom) || isNaN(lat) || isNaN(lon)) {
26
- return false;
27
- } else {
28
- return {
29
- center: new L.LatLng(lat, lon),
30
- zoom: zoom
31
- };
32
- }
33
- } else {
34
- return false;
35
- }
36
- };
37
-
38
- L.Hash.formatHash = function(map) {
39
- var center = map.getCenter(),
40
- zoom = map.getZoom(),
41
- precision = Math.max(0, Math.ceil(Math.log(zoom) / Math.LN2));
42
-
43
- return "#" + [zoom,
44
- center.lat.toFixed(precision),
45
- center.lng.toFixed(precision)
46
- ].join("/");
47
- },
48
-
49
- L.Hash.prototype = {
50
- map: null,
51
- lastHash: null,
52
-
53
- parseHash: L.Hash.parseHash,
54
- formatHash: L.Hash.formatHash,
55
-
56
- init: function(map) {
57
- this.map = map;
58
-
59
- // reset the hash
60
- this.lastHash = null;
61
- this.onHashChange();
62
-
63
- if (!this.isListening) {
64
- this.startListening();
65
- }
66
- },
67
-
68
- removeFrom: function(map) {
69
- if (this.changeTimeout) {
70
- clearTimeout(this.changeTimeout);
71
- }
72
-
73
- if (this.isListening) {
74
- this.stopListening();
75
- }
76
-
77
- this.map = null;
78
- },
79
-
80
- onMapMove: function() {
81
- // bail if we're moving the map (updating from a hash),
82
- // or if the map is not yet loaded
83
-
84
- if (this.movingMap || !this.map._loaded) {
85
- return false;
86
- }
87
-
88
- var hash = this.formatHash(this.map);
89
- if (this.lastHash != hash) {
90
- location.replace(hash);
91
- this.lastHash = hash;
92
- }
93
- },
94
-
95
- movingMap: false,
96
- update: function() {
97
- var hash = location.hash;
98
- if (hash === this.lastHash) {
99
- return;
100
- }
101
- var parsed = this.parseHash(hash);
102
- if (parsed) {
103
- this.movingMap = true;
104
-
105
- this.map.setView(parsed.center, parsed.zoom);
106
-
107
- this.movingMap = false;
108
- } else {
109
- this.onMapMove(this.map);
110
- }
111
- },
112
-
113
- // defer hash change updates every 100ms
114
- changeDefer: 100,
115
- changeTimeout: null,
116
- onHashChange: function() {
117
- // throttle calls to update() so that they only happen every
118
- // `changeDefer` ms
119
- if (!this.changeTimeout) {
120
- var that = this;
121
- this.changeTimeout = setTimeout(function() {
122
- that.update();
123
- that.changeTimeout = null;
124
- }, this.changeDefer);
125
- }
126
- },
127
-
128
- isListening: false,
129
- hashChangeInterval: null,
130
- startListening: function() {
131
- this.map.on("moveend", this.onMapMove, this);
132
-
133
- if (HAS_HASHCHANGE) {
134
- L.DomEvent.addListener(window, "hashchange", this.onHashChange);
135
- } else {
136
- clearInterval(this.hashChangeInterval);
137
- this.hashChangeInterval = setInterval(this.onHashChange, 50);
138
- }
139
- this.isListening = true;
140
- },
141
-
142
- stopListening: function() {
143
- this.map.off("moveend", this.onMapMove, this);
144
-
145
- if (HAS_HASHCHANGE) {
146
- L.DomEvent.removeListener(window, "hashchange", this.onHashChange);
147
- } else {
148
- clearInterval(this.hashChangeInterval);
149
- }
150
- this.isListening = false;
151
- }
152
- };
153
- L.hash = function(map) {
154
- return new L.Hash(map);
155
- };
156
- L.Map.prototype.addHash = function() {
157
- this._hash = L.hash(this);
158
- };
159
- L.Map.prototype.removeHash = function() {
160
- this._hash.removeFrom();
161
- };
162
- })(window);
@@ -1,26 +0,0 @@
1
- .leaflet-control-loading:empty {
2
- /* Spinner via ajaxload.info, base64-encoded */
3
- background-image: url(data:image/gif;base64,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);
4
- background-repeat: no-repeat;
5
- }
6
-
7
- .leaflet-control-loading,
8
- .leaflet-control-zoom a.leaflet-control-loading,
9
- .leaflet-control-zoomslider a.leaflet-control-loading,
10
- .leaflet-control-layer-container {
11
- display: none;
12
- }
13
-
14
- .leaflet-control-loading.is-loading,
15
- .leaflet-control-zoom a.leaflet-control-loading.is-loading,
16
- .leaflet-control-zoomslider a.leaflet-control-loading.is-loading,
17
- .leaflet-control-layer-container.is-loading {
18
- display: block;
19
- }
20
-
21
- /* Necessary for display consistency in Leaflet >= 0.6 */
22
- .leaflet-bar-part-bottom {
23
- border-bottom: medium none;
24
- border-bottom-left-radius: 4px;
25
- border-bottom-right-radius: 4px;
26
- }
@@ -1,351 +0,0 @@
1
- /*
2
- * L.Control.Loading is a control that shows a loading indicator when tiles are
3
- * loading or when map-related AJAX requests are taking place.
4
- */
5
-
6
- (function () {
7
-
8
- var console = window.console || {
9
- error: function () {},
10
- warn: function () {}
11
- };
12
-
13
- function defineLeafletLoading(L) {
14
- L.Control.Loading = L.Control.extend({
15
- options: {
16
- delayIndicator: null,
17
- position: 'topleft',
18
- separate: false,
19
- zoomControl: null,
20
- spinjs: false,
21
- spin: {
22
- lines: 7,
23
- length: 3,
24
- width: 3,
25
- radius: 5,
26
- rotate: 13,
27
- top: "83%"
28
- }
29
- },
30
-
31
- initialize: function(options) {
32
- L.setOptions(this, options);
33
- this._dataLoaders = {};
34
-
35
- // Try to set the zoom control this control is attached to from the
36
- // options
37
- if (this.options.zoomControl !== null) {
38
- this.zoomControl = this.options.zoomControl;
39
- }
40
- },
41
-
42
- onAdd: function(map) {
43
- if (this.options.spinjs && (typeof Spinner !== 'function')) {
44
- return console.error("Leaflet.loading cannot load because you didn't load spin.js (http://fgnass.github.io/spin.js/), even though you set it in options.");
45
- }
46
- this._addLayerListeners(map);
47
- this._addMapListeners(map);
48
-
49
- // Try to set the zoom control this control is attached to from the map
50
- // the control is being added to
51
- if (!this.options.separate && !this.zoomControl) {
52
- if (map.zoomControl) {
53
- this.zoomControl = map.zoomControl;
54
- } else if (map.zoomsliderControl) {
55
- this.zoomControl = map.zoomsliderControl;
56
- }
57
- }
58
-
59
- // Create the loading indicator
60
- var classes = 'leaflet-control-loading';
61
- var container;
62
- if (this.zoomControl && !this.options.separate) {
63
- // If there is a zoom control, hook into the bottom of it
64
- container = this.zoomControl._container;
65
- // These classes are no longer used as of Leaflet 0.6
66
- classes += ' leaflet-bar-part-bottom leaflet-bar-part last';
67
-
68
- // Loading control will be added to the zoom control. So the visible last element is not the
69
- // last dom element anymore. So add the part-bottom class.
70
- L.DomUtil.addClass(this._getLastControlButton(), 'leaflet-bar-part-bottom');
71
- }
72
- else {
73
- // Otherwise, create a container for the indicator
74
- container = L.DomUtil.create('div', 'leaflet-control-zoom leaflet-control-layer-container leaflet-bar');
75
- }
76
- this._indicatorContainer = container;
77
- this._indicator = L.DomUtil.create('a', classes, container);
78
- if (this.options.spinjs) {
79
- this._spinner = new Spinner(this.options.spin).spin();
80
- this._indicator.appendChild(this._spinner.el);
81
- }
82
- return container;
83
- },
84
-
85
- onRemove: function(map) {
86
- this._removeLayerListeners(map);
87
- this._removeMapListeners(map);
88
- },
89
-
90
- removeFrom: function (map) {
91
- if (this.zoomControl && !this.options.separate) {
92
- // Override Control.removeFrom() to avoid clobbering the entire
93
- // _container, which is the same as zoomControl's
94
- this._container.removeChild(this._indicator);
95
- this._map = null;
96
- this.onRemove(map);
97
- return this;
98
- }
99
- else {
100
- // If this control is separate from the zoomControl, call the
101
- // parent method so we don't leave behind an empty container
102
- return L.Control.prototype.removeFrom.call(this, map);
103
- }
104
- },
105
-
106
- addLoader: function(id) {
107
- this._dataLoaders[id] = true;
108
- if (this.options.delayIndicator && !this.delayIndicatorTimeout) {
109
- // If we are delaying showing the indicator and we're not
110
- // already waiting for that delay, set up a timeout.
111
- var that = this;
112
- this.delayIndicatorTimeout = setTimeout(function () {
113
- that.updateIndicator();
114
- that.delayIndicatorTimeout = null;
115
- }, this.options.delayIndicator);
116
- }
117
- else {
118
- // Otherwise show the indicator immediately
119
- this.updateIndicator();
120
- }
121
- },
122
-
123
- removeLoader: function(id) {
124
- delete this._dataLoaders[id];
125
- this.updateIndicator();
126
-
127
- // If removing this loader means we're in no danger of loading,
128
- // clear the timeout. This prevents old delays from instantly
129
- // triggering the indicator.
130
- if (this.options.delayIndicator && this.delayIndicatorTimeout && !this.isLoading()) {
131
- clearTimeout(this.delayIndicatorTimeout);
132
- this.delayIndicatorTimeout = null;
133
- }
134
- },
135
-
136
- updateIndicator: function() {
137
- if (this.isLoading()) {
138
- this._showIndicator();
139
- }
140
- else {
141
- this._hideIndicator();
142
- }
143
- },
144
-
145
- isLoading: function() {
146
- return this._countLoaders() > 0;
147
- },
148
-
149
- _countLoaders: function() {
150
- var size = 0, key;
151
- for (key in this._dataLoaders) {
152
- if (this._dataLoaders.hasOwnProperty(key)) size++;
153
- }
154
- return size;
155
- },
156
-
157
- _showIndicator: function() {
158
- // Show loading indicator
159
- L.DomUtil.addClass(this._indicator, 'is-loading');
160
- L.DomUtil.addClass(this._indicatorContainer, 'is-loading');
161
-
162
- // If zoomControl exists, make the zoom-out button not last
163
- if (!this.options.separate) {
164
- if (this.zoomControl instanceof L.Control.Zoom) {
165
- L.DomUtil.removeClass(this._getLastControlButton(), 'leaflet-bar-part-bottom');
166
- }
167
- else if (typeof L.Control.Zoomslider === 'function' && this.zoomControl instanceof L.Control.Zoomslider) {
168
- L.DomUtil.removeClass(this.zoomControl._ui.zoomOut, 'leaflet-bar-part-bottom');
169
- }
170
- }
171
- },
172
-
173
- _hideIndicator: function() {
174
- // Hide loading indicator
175
- L.DomUtil.removeClass(this._indicator, 'is-loading');
176
- L.DomUtil.removeClass(this._indicatorContainer, 'is-loading');
177
-
178
- // If zoomControl exists, make the zoom-out button last
179
- if (!this.options.separate) {
180
- if (this.zoomControl instanceof L.Control.Zoom) {
181
- L.DomUtil.addClass(this._getLastControlButton(), 'leaflet-bar-part-bottom');
182
- }
183
- else if (typeof L.Control.Zoomslider === 'function' && this.zoomControl instanceof L.Control.Zoomslider) {
184
- L.DomUtil.addClass(this.zoomControl._ui.zoomOut, 'leaflet-bar-part-bottom');
185
- }
186
- }
187
- },
188
-
189
- _getLastControlButton: function() {
190
- var container = this.zoomControl._container,
191
- index = container.children.length - 1;
192
-
193
- // Find the last visible control button that is not our loading
194
- // indicator
195
- while (index > 0) {
196
- var button = container.children[index];
197
- if (!(this._indicator === button || button.offsetWidth === 0 || button.offsetHeight === 0)) {
198
- break;
199
- }
200
- index--;
201
- }
202
-
203
- return container.children[index];
204
- },
205
-
206
- _handleLoading: function(e) {
207
- this.addLoader(this.getEventId(e));
208
- },
209
-
210
- _handleBaseLayerChange: function (e) {
211
- var that = this;
212
-
213
- // Check for a target 'layer' that contains multiple layers, such as
214
- // L.LayerGroup. This will happen if you have an L.LayerGroup in an
215
- // L.Control.Layers.
216
- if (e.layer && e.layer.eachLayer && typeof e.layer.eachLayer === 'function') {
217
- e.layer.eachLayer(function (layer) {
218
- that._handleBaseLayerChange({ layer: layer });
219
- });
220
- }
221
- else {
222
- // If we're changing to a canvas layer, don't handle loading
223
- // as canvas layers will not fire load events.
224
- if (!(L.TileLayer.Canvas && e.layer instanceof L.TileLayer.Canvas)) {
225
- that._handleLoading(e);
226
- }
227
- }
228
- },
229
-
230
- _handleLoad: function(e) {
231
- this.removeLoader(this.getEventId(e));
232
- },
233
-
234
- getEventId: function(e) {
235
- if (e.id) {
236
- return e.id;
237
- }
238
- else if (e.layer) {
239
- return e.layer._leaflet_id;
240
- }
241
- return e.target._leaflet_id;
242
- },
243
-
244
- _layerAdd: function(e) {
245
- if (!e.layer || !e.layer.on) return
246
- try {
247
- e.layer.on({
248
- loading: this._handleLoading,
249
- load: this._handleLoad
250
- }, this);
251
- }
252
- catch (exception) {
253
- console.warn('L.Control.Loading: Tried and failed to add ' +
254
- ' event handlers to layer', e.layer);
255
- console.warn('L.Control.Loading: Full details', exception);
256
- }
257
- },
258
-
259
- _layerRemove: function(e) {
260
- if (!e.layer || !e.layer.off) return;
261
- try {
262
- e.layer.off({
263
- loading: this._handleLoading,
264
- load: this._handleLoad
265
- }, this);
266
- }
267
- catch (exception) {
268
- console.warn('L.Control.Loading: Tried and failed to remove ' +
269
- 'event handlers from layer', e.layer);
270
- console.warn('L.Control.Loading: Full details', exception);
271
- }
272
- },
273
-
274
- _addLayerListeners: function(map) {
275
- // Add listeners for begin and end of load to any layers already on the
276
- // map
277
- map.eachLayer(function(layer) {
278
- if (!layer.on) return;
279
- layer.on({
280
- loading: this._handleLoading,
281
- load: this._handleLoad
282
- }, this);
283
- }, this);
284
-
285
- // When a layer is added to the map, add listeners for begin and end
286
- // of load
287
- map.on('layeradd', this._layerAdd, this);
288
- map.on('layerremove', this._layerRemove, this);
289
- },
290
-
291
- _removeLayerListeners: function(map) {
292
- // Remove listeners for begin and end of load from all layers
293
- map.eachLayer(function(layer) {
294
- if (!layer.off) return;
295
- layer.off({
296
- loading: this._handleLoading,
297
- load: this._handleLoad
298
- }, this);
299
- }, this);
300
-
301
- // Remove layeradd/layerremove listener from map
302
- map.off('layeradd', this._layerAdd, this);
303
- map.off('layerremove', this._layerRemove, this);
304
- },
305
-
306
- _addMapListeners: function(map) {
307
- // Add listeners to the map for (custom) dataloading and dataload
308
- // events, eg, for AJAX calls that affect the map but will not be
309
- // reflected in the above layer events.
310
- map.on({
311
- baselayerchange: this._handleBaseLayerChange,
312
- dataloading: this._handleLoading,
313
- dataload: this._handleLoad,
314
- layerremove: this._handleLoad
315
- }, this);
316
- },
317
-
318
- _removeMapListeners: function(map) {
319
- map.off({
320
- baselayerchange: this._handleBaseLayerChange,
321
- dataloading: this._handleLoading,
322
- dataload: this._handleLoad,
323
- layerremove: this._handleLoad
324
- }, this);
325
- }
326
- });
327
-
328
- L.Map.addInitHook(function () {
329
- if (this.options.loadingControl) {
330
- this.loadingControl = new L.Control.Loading();
331
- this.addControl(this.loadingControl);
332
- }
333
- });
334
-
335
- L.Control.loading = function(options) {
336
- return new L.Control.Loading(options);
337
- };
338
- }
339
-
340
- if (typeof define === 'function' && define.amd) {
341
- // Try to add leaflet.loading to Leaflet using AMD
342
- define(['leaflet'], function (L) {
343
- defineLeafletLoading(L);
344
- });
345
- }
346
- else {
347
- // Else use the global L
348
- defineLeafletLoading(L);
349
- }
350
-
351
- })();
@@ -1 +0,0 @@
1
- .leaflet-control-locate a{cursor:pointer}.leaflet-control-locate a .leaflet-control-locate-location-arrow{display:inline-block;width:16px;height:16px;margin:7px;background-image:url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="black" d="M445 4 29 195c-48 23-32 93 19 93h176v176c0 51 70 67 93 19L508 67c16-38-25-79-63-63z"/></svg>')}.leaflet-control-locate a .leaflet-control-locate-spinner{display:inline-block;width:16px;height:16px;margin:7px;background-image:url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="black" d="M304 48a48 48 0 1 1-96 0 48 48 0 0 1 96 0zm-48 368a48 48 0 1 0 0 96 48 48 0 0 0 0-96zm208-208a48 48 0 1 0 0 96 48 48 0 0 0 0-96zM96 256a48 48 0 1 0-96 0 48 48 0 0 0 96 0zm13 99a48 48 0 1 0 0 96 48 48 0 0 0 0-96zm294 0a48 48 0 1 0 0 96 48 48 0 0 0 0-96zM109 61a48 48 0 1 0 0 96 48 48 0 0 0 0-96z"/></svg>');animation:leaflet-control-locate-spin 2s linear infinite}.leaflet-control-locate.active a .leaflet-control-locate-location-arrow{background-image:url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="rgb(32, 116, 182)" d="M445 4 29 195c-48 23-32 93 19 93h176v176c0 51 70 67 93 19L508 67c16-38-25-79-63-63z"/></svg>')}.leaflet-control-locate.following a .leaflet-control-locate-location-arrow{background-image:url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="rgb(252, 132, 40)" d="M445 4 29 195c-48 23-32 93 19 93h176v176c0 51 70 67 93 19L508 67c16-38-25-79-63-63z"/></svg>')}.leaflet-touch .leaflet-bar .leaflet-locate-text-active{width:100%;max-width:200px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;padding:0 10px}.leaflet-touch .leaflet-bar .leaflet-locate-text-active .leaflet-locate-icon{padding:0 5px 0 0}.leaflet-control-locate-location circle{animation:leaflet-control-locate-throb 4s ease infinite}@keyframes leaflet-control-locate-throb{0%{stroke-width:1}50%{stroke-width:3;transform:scale(0.8, 0.8)}100%{stroke-width:1}}@keyframes leaflet-control-locate-spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}/*# sourceMappingURL=L.Control.Locate.min.css.map */
@@ -1 +0,0 @@
1
- {"version":3,"sourceRoot":"","sources":["../src/L.Control.Locate.scss"],"names":[],"mappings":"AASE,0BACE,eAEA,iEACE,qBACA,WACA,YACA,WACA,0OAGF,0DACE,qBACA,WACA,YACA,WACA,6bACA,yDAIJ,wEACE,sPAGF,2EACE,sPAIJ,wDACE,WACA,gBACA,uBACA,mBACA,gBACA,eAEA,6EACE,kBAIJ,wCACE,wDAGF,wCACE,GACE,eAGF,IACE,eACA,0BAGF,KACE,gBAIJ,uCACE,GACE,uBAGF,KACE","file":"L.Control.Locate.min.css"}
@@ -1,4 +0,0 @@
1
- /*! Version: 0.81.1
2
- Copyright (c) 2016 Dominik Moritz */
3
- !function(t,i){"function"==typeof define&&define.amd?define(["leaflet"],t):"object"==typeof exports&&(void 0!==i&&i.L?module.exports=t(L):module.exports=t(require("leaflet"))),void 0!==i&&i.L&&(i.L.Control.Locate=t(L))}(function(l){const s=(i,s,t)=>{(t=t.split(" ")).forEach(function(t){l.DomUtil[i].call(this,s,t)})},i=(t,i)=>s("addClass",t,i),o=(t,i)=>s("removeClass",t,i);var t=l.Marker.extend({initialize(t,i){l.Util.setOptions(this,i),this._latlng=t,this.createIcon()},createIcon(){var t=this.options;let i="";void 0!==t.color&&(i+=`stroke:${t.color};`),void 0!==t.weight&&(i+=`stroke-width:${t.weight};`),void 0!==t.fillColor&&(i+=`fill:${t.fillColor};`),void 0!==t.fillOpacity&&(i+=`fill-opacity:${t.fillOpacity};`),void 0!==t.opacity&&(i+=`opacity:${t.opacity};`);t=this._getIconSVG(t,i);this._locationIcon=l.divIcon({className:t.className,html:t.svg,iconSize:[t.w,t.h]}),this.setIcon(this._locationIcon)},_getIconSVG(t,i){var s=t.radius,t=s+t.weight,o=2*t;return{className:"leaflet-control-locate-location",svg:`<svg xmlns="http://www.w3.org/2000/svg" width="${o}" height="${o}" version="1.1" viewBox="-${t} -${t} ${o} ${o}">`+'<circle r="'+s+'" style="'+i+'" /></svg>',w:o,h:o}},setStyle(t){l.Util.setOptions(this,t),this.createIcon()}}),e=t.extend({initialize(t,i,s){l.Util.setOptions(this,s),this._latlng=t,this._heading=i,this.createIcon()},setHeading(t){this._heading=t},_getIconSVG(t,i){var s=t.radius,o=t.width+t.weight,s=2*(s+t.depth+t.weight),t=`M0,0 l${t.width/2},${t.depth} l-${o},0 z`;return{className:"leaflet-control-locate-heading",svg:`<svg xmlns="http://www.w3.org/2000/svg" width="${o}" height="${s}" version="1.1" viewBox="-${o/2} 0 ${o} ${s}" style="${`transform: rotate(${this._heading}deg)`}">`+'<path d="'+t+'" style="'+i+'" /></svg>',w:o,h:s}}}),t=l.Control.extend({options:{position:"topleft",layer:void 0,setView:"untilPanOrZoom",keepCurrentZoomLevel:!1,initialZoomLevel:!1,getLocationBounds(t){return t.bounds},flyTo:!1,clickBehavior:{inView:"stop",outOfView:"setView",inViewNotFollowing:"inView"},returnToPrevBounds:!1,cacheLocation:!0,drawCircle:!0,drawMarker:!0,showCompass:!0,markerClass:t,compassClass:e,circleStyle:{className:"leaflet-control-locate-circle",color:"#136AEC",fillColor:"#136AEC",fillOpacity:.15,weight:0},markerStyle:{className:"leaflet-control-locate-marker",color:"#fff",fillColor:"#2A93EE",fillOpacity:1,weight:3,opacity:1,radius:9},compassStyle:{fillColor:"#2A93EE",fillOpacity:1,weight:0,color:"#fff",opacity:1,radius:9,width:9,depth:6},followCircleStyle:{},followMarkerStyle:{},followCompassStyle:{},icon:"leaflet-control-locate-location-arrow",iconLoading:"leaflet-control-locate-spinner",iconElementTag:"span",textElementTag:"small",circlePadding:[0,0],metric:!0,createButtonCallback(t,i){var t=l.DomUtil.create("a","leaflet-bar-part leaflet-bar-part-single",t),s=(t.title=i.strings.title,t.href="#",t.setAttribute("role","button"),l.DomUtil.create(i.iconElementTag,i.icon,t));return void 0!==i.strings.text&&(l.DomUtil.create(i.textElementTag,"leaflet-locate-text",t).textContent=i.strings.text,t.classList.add("leaflet-locate-text-active"),t.parentNode.style.display="flex",0<i.icon.length)&&s.classList.add("leaflet-locate-icon"),{link:t,icon:s}},onLocationError(t,i){alert(t.message)},onLocationOutsideMapBounds(t){t.stop(),alert(t.options.strings.outsideMapBoundsMsg)},showPopup:!0,strings:{title:"Show me where I am",metersUnit:"meters",feetUnit:"feet",popup:"You are within {distance} {unit} from this point",outsideMapBoundsMsg:"You seem located outside the boundaries of the map"},locateOptions:{maxZoom:1/0,watch:!0,setView:!1}},initialize(t){for(const i in t)"object"==typeof this.options[i]?l.extend(this.options[i],t[i]):this.options[i]=t[i];this.options.followMarkerStyle=l.extend({},this.options.markerStyle,this.options.followMarkerStyle),this.options.followCircleStyle=l.extend({},this.options.circleStyle,this.options.followCircleStyle),this.options.followCompassStyle=l.extend({},this.options.compassStyle,this.options.followCompassStyle)},onAdd(t){var i=l.DomUtil.create("div","leaflet-control-locate leaflet-bar leaflet-control"),t=(this._container=i,this._map=t,this._layer=this.options.layer||new l.LayerGroup,this._layer.addTo(t),this._event=void 0,this._compassHeading=null,this._prevBounds=null,this.options.createButtonCallback(i,this.options));return this._link=t.link,this._icon=t.icon,l.DomEvent.on(this._link,"click",function(t){l.DomEvent.stopPropagation(t),l.DomEvent.preventDefault(t),this._onClick()},this).on(this._link,"dblclick",l.DomEvent.stopPropagation),this._resetVariables(),this._map.on("unload",this._unload,this),i},_onClick(){this._justClicked=!0;var i=this._isFollowing();if(this._userPanned=!1,this._userZoomed=!1,this._active&&!this._event)this.stop();else if(this._active){var s=this.options.clickBehavior;let t=s.outOfView;switch(t=s[t=this._map.getBounds().contains(this._event.latlng)?i?s.inView:s.inViewNotFollowing:t]?s[t]:t){case"setView":this.setView();break;case"stop":this.stop(),this.options.returnToPrevBounds&&(this.options.flyTo?this._map.flyToBounds:this._map.fitBounds).bind(this._map)(this._prevBounds)}}else this.options.returnToPrevBounds&&(this._prevBounds=this._map.getBounds()),this.start();this._updateContainerStyle()},start(){this._activate(),this._event&&(this._drawMarker(this._map),this.options.setView)&&this.setView(),this._updateContainerStyle()},stop(){this._deactivate(),this._cleanClasses(),this._resetVariables(),this._removeMarker()},stopFollowing(){this._userPanned=!0,this._updateContainerStyle(),this._drawMarker()},_activate(){if(!this._active&&this._map&&(this._map.locate(this.options.locateOptions),this._map.fire("locateactivate",this),this._active=!0,this._map.on("locationfound",this._onLocationFound,this),this._map.on("locationerror",this._onLocationError,this),this._map.on("dragstart",this._onDrag,this),this._map.on("zoomstart",this._onZoom,this),this._map.on("zoomend",this._onZoomEnd,this),this.options.showCompass)){const t="ondeviceorientationabsolute"in window;if(t||"ondeviceorientation"in window){const i=this,s=function(){l.DomEvent.on(window,t?"deviceorientationabsolute":"deviceorientation",i._onDeviceOrientation,i)};DeviceOrientationEvent&&"function"==typeof DeviceOrientationEvent.requestPermission?DeviceOrientationEvent.requestPermission().then(function(t){"granted"===t&&s()}):s()}}},_deactivate(){this._active&&this._map&&(this._map.stopLocate(),this._map.fire("locatedeactivate",this),this._active=!1,this.options.cacheLocation||(this._event=void 0),this._map.off("locationfound",this._onLocationFound,this),this._map.off("locationerror",this._onLocationError,this),this._map.off("dragstart",this._onDrag,this),this._map.off("zoomstart",this._onZoom,this),this._map.off("zoomend",this._onZoomEnd,this),this.options.showCompass)&&(this._compassHeading=null,"ondeviceorientationabsolute"in window?l.DomEvent.off(window,"deviceorientationabsolute",this._onDeviceOrientation,this):"ondeviceorientation"in window&&l.DomEvent.off(window,"deviceorientation",this._onDeviceOrientation,this))},setView(){var t;this._drawMarker(),this._isOutsideMapBounds()?(this._event=void 0,this.options.onLocationOutsideMapBounds(this)):this._justClicked&&!1!==this.options.initialZoomLevel?(t=this.options.flyTo?this._map.flyTo:this._map.setView).bind(this._map)([this._event.latitude,this._event.longitude],this.options.initialZoomLevel):this.options.keepCurrentZoomLevel?(t=this.options.flyTo?this._map.flyTo:this._map.panTo).bind(this._map)([this._event.latitude,this._event.longitude]):(t=this.options.flyTo?this._map.flyToBounds:this._map.fitBounds,this._ignoreEvent=!0,t.bind(this._map)(this.options.getLocationBounds(this._event),{padding:this.options.circlePadding,maxZoom:this.options.initialZoomLevel||this.options.locateOptions.maxZoom}),l.Util.requestAnimFrame(function(){this._ignoreEvent=!1},this))},_drawCompass(){var t,i;this._event&&(t=this._event.latlng,this.options.showCompass&&t&&null!==this._compassHeading&&(i=this._isFollowing()?this.options.followCompassStyle:this.options.compassStyle,this._compass?(this._compass.setLatLng(t),this._compass.setHeading(this._compassHeading),this._compass.setStyle&&this._compass.setStyle(i)):this._compass=new this.options.compassClass(t,this._compassHeading,i).addTo(this._layer)),!this._compass||this.options.showCompass&&null!==this._compassHeading||(this._compass.removeFrom(this._layer),this._compass=null))},_drawMarker(){void 0===this._event.accuracy&&(this._event.accuracy=0);var t,i=this._event.accuracy,s=this._event.latlng;this.options.drawCircle&&(t=this._isFollowing()?this.options.followCircleStyle:this.options.circleStyle,this._circle?this._circle.setLatLng(s).setRadius(i).setStyle(t):this._circle=l.circle(s,i,t).addTo(this._layer));let o,e;e=this.options.metric?(o=i.toFixed(0),this.options.strings.metersUnit):(o=(3.2808399*i).toFixed(0),this.options.strings.feetUnit),this.options.drawMarker&&(t=this._isFollowing()?this.options.followMarkerStyle:this.options.markerStyle,this._marker?(this._marker.setLatLng(s),this._marker.setStyle&&this._marker.setStyle(t)):this._marker=new this.options.markerClass(s,t).addTo(this._layer)),this._drawCompass();const n=this.options.strings.popup;function a(){return"string"==typeof n?l.Util.template(n,{distance:o,unit:e}):"function"==typeof n?n({distance:o,unit:e}):n}this.options.showPopup&&n&&this._marker&&this._marker.bindPopup(a())._popup.setLatLng(s),this.options.showPopup&&n&&this._compass&&this._compass.bindPopup(a())._popup.setLatLng(s)},_removeMarker(){this._layer.clearLayers(),this._marker=void 0,this._circle=void 0},_unload(){this.stop(),this._map&&this._map.off("unload",this._unload,this)},_setCompassHeading(t){!isNaN(parseFloat(t))&&isFinite(t)?(t=Math.round(t),this._compassHeading=t,l.Util.requestAnimFrame(this._drawCompass,this)):this._compassHeading=null},_onCompassNeedsCalibration(){this._setCompassHeading()},_onDeviceOrientation(t){this._active&&(t.webkitCompassHeading?this._setCompassHeading(t.webkitCompassHeading):t.absolute&&t.alpha&&this._setCompassHeading(360-t.alpha))},_onLocationError(t){3==t.code&&this.options.locateOptions.watch||(this.stop(),this.options.onLocationError(t,this))},_onLocationFound(t){if((!this._event||this._event.latlng.lat!==t.latlng.lat||this._event.latlng.lng!==t.latlng.lng||this._event.accuracy!==t.accuracy)&&this._active){switch(this._event=t,this._drawMarker(),this._updateContainerStyle(),this.options.setView){case"once":this._justClicked&&this.setView();break;case"untilPan":this._userPanned||this.setView();break;case"untilPanOrZoom":this._userPanned||this._userZoomed||this.setView();break;case"always":this.setView()}this._justClicked=!1}},_onDrag(){this._event&&!this._ignoreEvent&&(this._userPanned=!0,this._updateContainerStyle(),this._drawMarker())},_onZoom(){this._event&&!this._ignoreEvent&&(this._userZoomed=!0,this._updateContainerStyle(),this._drawMarker())},_onZoomEnd(){this._event&&this._drawCompass(),this._event&&!this._ignoreEvent&&this._marker&&!this._map.getBounds().pad(-.3).contains(this._marker.getLatLng())&&(this._userPanned=!0,this._updateContainerStyle(),this._drawMarker())},_isFollowing(){return!!this._active&&("always"===this.options.setView||("untilPan"===this.options.setView?!this._userPanned:"untilPanOrZoom"===this.options.setView?!this._userPanned&&!this._userZoomed:void 0))},_isOutsideMapBounds(){return void 0!==this._event&&this._map.options.maxBounds&&!this._map.options.maxBounds.contains(this._event.latlng)},_updateContainerStyle(){this._container&&(this._active&&!this._event?this._setClasses("requesting"):this._isFollowing()?this._setClasses("following"):this._active?this._setClasses("active"):this._cleanClasses())},_setClasses(t){"requesting"==t?(o(this._container,"active following"),i(this._container,"requesting"),o(this._icon,this.options.icon),i(this._icon,this.options.iconLoading)):"active"==t?(o(this._container,"requesting following"),i(this._container,"active"),o(this._icon,this.options.iconLoading),i(this._icon,this.options.icon)):"following"==t&&(o(this._container,"requesting"),i(this._container,"active following"),o(this._icon,this.options.iconLoading),i(this._icon,this.options.icon))},_cleanClasses(){l.DomUtil.removeClass(this._container,"requesting"),l.DomUtil.removeClass(this._container,"active"),l.DomUtil.removeClass(this._container,"following"),o(this._icon,this.options.iconLoading),i(this._icon,this.options.icon)},_resetVariables(){this._active=!1,this._justClicked=!1,this._userPanned=!1,this._userZoomed=!1}});return l.control.locate=t=>new l.Control.Locate(t),t},window);
4
- //# sourceMappingURL=L.Control.Locate.min.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"L.Control.Locate.min.js","sources":["../src/L.Control.Locate.js"],"names":["factory","window","define","amd","exports","L","module","require","Control","Locate","LDomUtilApplyClassesMethod","method","element","classNames","split","forEach","className","DomUtil","call","this","addClasses","el","names","removeClasses","LocationMarker","Marker","extend","initialize","latlng","options","Util","setOptions","_latlng","createIcon","opt","let","style","undefined","color","weight","fillColor","fillOpacity","opacity","icon","_getIconSVG","_locationIcon","divIcon","html","svg","iconSize","w","h","setIcon","r","radius","s","s2","setStyle","CompassMarker","heading","_heading","setHeading","width","depth","path","LocateControl","position","layer","setView","keepCurrentZoomLevel","initialZoomLevel","getLocationBounds","locationEvent","bounds","flyTo","clickBehavior","inView","outOfView","inViewNotFollowing","returnToPrevBounds","cacheLocation","drawCircle","drawMarker","showCompass","markerClass","compassClass","circleStyle","markerStyle","compassStyle","followCircleStyle","followMarkerStyle","followCompassStyle","iconLoading","iconElementTag","textElementTag","circlePadding","metric","createButtonCallback","container","link","create","title","strings","href","setAttribute","text","textContent","classList","add","parentNode","display","length","onLocationError","err","control","alert","message","onLocationOutsideMapBounds","stop","outsideMapBoundsMsg","showPopup","metersUnit","feetUnit","popup","locateOptions","maxZoom","Infinity","watch","i","onAdd","map","linkAndIcon","_container","_map","_layer","LayerGroup","addTo","_event","_compassHeading","_prevBounds","_link","_icon","DomEvent","on","ev","stopPropagation","preventDefault","_onClick","_resetVariables","_unload","_justClicked","wasFollowing","_isFollowing","_userPanned","_userZoomed","_active","behaviors","behavior","getBounds","contains","flyToBounds","fitBounds","bind","start","_updateContainerStyle","_activate","_drawMarker","_deactivate","_cleanClasses","_removeMarker","stopFollowing","locate","fire","_onLocationFound","_onLocationError","_onDrag","_onZoom","_onZoomEnd","oriAbs","_this","deviceorientation","_onDeviceOrientation","DeviceOrientationEvent","requestPermission","then","permissionState","stopLocate","off","f","_isOutsideMapBounds","latitude","longitude","panTo","_ignoreEvent","padding","requestAnimFrame","_drawCompass","cStyle","_compass","setLatLng","removeFrom","accuracy","mStyle","_circle","setRadius","circle","distance","unit","toFixed","_marker","t","getPopupText","template","bindPopup","_popup","clearLayers","_setCompassHeading","angle","isNaN","parseFloat","isFinite","Math","round","_onCompassNeedsCalibration","e","webkitCompassHeading","absolute","alpha","code","lat","lng","pad","getLatLng","maxBounds","_setClasses","state","removeClass"],"mappings":"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"}