@antv/l7-map 2.17.12 → 2.18.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 (104) hide show
  1. package/es/camera.js +92 -149
  2. package/es/earthmap.js +15 -68
  3. package/es/geo/edge_insets.js +4 -14
  4. package/es/geo/lng_lat.js +5 -13
  5. package/es/geo/lng_lat_bounds.js +4 -17
  6. package/es/geo/mercator.js +2 -10
  7. package/es/geo/point.js +0 -7
  8. package/es/geo/simple.js +6 -11
  9. package/es/geo/transform.js +128 -138
  10. package/es/handler/blockable_map_event.js +7 -12
  11. package/es/handler/box_zoom.js +10 -30
  12. package/es/handler/click_zoom.js +0 -5
  13. package/es/handler/events/event.js +2 -3
  14. package/es/handler/events/map_mouse_event.js +2 -13
  15. package/es/handler/events/map_touch_event.js +2 -12
  16. package/es/handler/events/map_wheel_event.js +1 -12
  17. package/es/handler/events/render_event.js +0 -13
  18. package/es/handler/handler_inertia.js +8 -35
  19. package/es/handler/handler_manager.js +90 -197
  20. package/es/handler/handler_util.js +1 -2
  21. package/es/handler/keyboard.js +1 -20
  22. package/es/handler/map_event.js +3 -9
  23. package/es/handler/mouse/mouse_handler.js +11 -24
  24. package/es/handler/mouse/mousepan_handler.js +1 -11
  25. package/es/handler/mouse/mousepitch_hander.js +1 -11
  26. package/es/handler/mouse/mouserotate_hander.js +1 -11
  27. package/es/handler/mouse/util.js +2 -3
  28. package/es/handler/scroll_zoom.js +43 -71
  29. package/es/handler/shim/dblclick_zoom.js +4 -9
  30. package/es/handler/shim/drag_pan.js +6 -18
  31. package/es/handler/shim/drag_rotate.js +4 -10
  32. package/es/handler/shim/touch_zoom_rotate.js +8 -23
  33. package/es/handler/tap/single_tap_recognizer.js +8 -31
  34. package/es/handler/tap/tap_drag_zoom.js +7 -15
  35. package/es/handler/tap/tap_recognizer.js +3 -11
  36. package/es/handler/tap/tap_zoom.js +1 -7
  37. package/es/handler/touch/touch_pan.js +4 -22
  38. package/es/handler/touch/touch_pitch.js +10 -27
  39. package/es/handler/touch/touch_rotate.js +8 -19
  40. package/es/handler/touch/touch_zoom.js +5 -18
  41. package/es/handler/touch/two_touch.js +19 -32
  42. package/es/hash.js +13 -35
  43. package/es/map.js +30 -107
  44. package/es/util.d.ts +3 -3
  45. package/es/util.js +20 -33
  46. package/es/utils/Aabb.js +10 -31
  47. package/es/utils/dom.js +33 -111
  48. package/es/utils/performance.js +9 -9
  49. package/es/utils/primitives.js +13 -11
  50. package/es/utils/task_queue.js +6 -23
  51. package/lib/camera.js +102 -179
  52. package/lib/earthmap.js +14 -83
  53. package/lib/geo/edge_insets.js +3 -18
  54. package/lib/geo/lng_lat.js +5 -18
  55. package/lib/geo/lng_lat_bounds.js +4 -20
  56. package/lib/geo/mercator.js +1 -22
  57. package/lib/geo/point.js +0 -8
  58. package/lib/geo/simple.js +5 -24
  59. package/lib/geo/transform.js +128 -170
  60. package/lib/handler/blockable_map_event.js +6 -14
  61. package/lib/handler/box_zoom.js +8 -39
  62. package/lib/handler/click_zoom.js +0 -6
  63. package/lib/handler/events/event.js +4 -7
  64. package/lib/handler/events/index.js +0 -4
  65. package/lib/handler/events/map_mouse_event.js +5 -22
  66. package/lib/handler/events/map_touch_event.js +2 -21
  67. package/lib/handler/events/map_wheel_event.js +1 -16
  68. package/lib/handler/events/render_event.js +0 -19
  69. package/lib/handler/handler_inertia.js +13 -44
  70. package/lib/handler/handler_manager.js +92 -222
  71. package/lib/handler/handler_util.js +1 -3
  72. package/lib/handler/keyboard.js +1 -22
  73. package/lib/handler/map_event.js +2 -11
  74. package/lib/handler/mouse/index.js +0 -4
  75. package/lib/handler/mouse/mouse_handler.js +10 -27
  76. package/lib/handler/mouse/mousepan_handler.js +1 -18
  77. package/lib/handler/mouse/mousepitch_hander.js +1 -17
  78. package/lib/handler/mouse/mouserotate_hander.js +1 -17
  79. package/lib/handler/mouse/util.js +2 -6
  80. package/lib/handler/scroll_zoom.js +43 -77
  81. package/lib/handler/shim/dblclick_zoom.js +4 -10
  82. package/lib/handler/shim/drag_pan.js +6 -20
  83. package/lib/handler/shim/drag_rotate.js +4 -11
  84. package/lib/handler/shim/touch_zoom_rotate.js +8 -25
  85. package/lib/handler/tap/single_tap_recognizer.js +8 -33
  86. package/lib/handler/tap/tap_drag_zoom.js +6 -18
  87. package/lib/handler/tap/tap_recognizer.js +2 -17
  88. package/lib/handler/tap/tap_zoom.js +0 -9
  89. package/lib/handler/touch/index.js +0 -5
  90. package/lib/handler/touch/touch_pan.js +4 -25
  91. package/lib/handler/touch/touch_pitch.js +10 -32
  92. package/lib/handler/touch/touch_rotate.js +8 -25
  93. package/lib/handler/touch/touch_zoom.js +5 -24
  94. package/lib/handler/touch/two_touch.js +18 -35
  95. package/lib/hash.js +12 -38
  96. package/lib/index.js +0 -8
  97. package/lib/map.js +30 -125
  98. package/lib/util.js +19 -46
  99. package/lib/utils/Aabb.js +10 -34
  100. package/lib/utils/dom.js +32 -118
  101. package/lib/utils/performance.js +9 -11
  102. package/lib/utils/primitives.js +13 -16
  103. package/lib/utils/task_queue.js +6 -24
  104. package/package.json +4 -4
@@ -1,80 +1,48 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.default = void 0;
9
-
10
8
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
11
-
12
9
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
13
-
14
10
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
15
-
16
11
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
17
-
18
12
  var _l7Utils = require("@antv/l7-utils");
19
-
20
- var _lodash = require("lodash");
21
-
22
13
  var _point = _interopRequireDefault(require("../geo/point"));
23
-
24
14
  var _dom = _interopRequireDefault(require("../utils/dom"));
25
-
26
15
  var _blockable_map_event = _interopRequireDefault(require("./blockable_map_event"));
27
-
28
16
  var _box_zoom = _interopRequireDefault(require("./box_zoom"));
29
-
30
17
  var _click_zoom = _interopRequireDefault(require("./click_zoom"));
31
-
32
18
  var _event = require("./events/event");
33
-
34
19
  var _render_event = _interopRequireDefault(require("./events/render_event"));
35
-
36
20
  var _handler_inertia = _interopRequireDefault(require("./handler_inertia"));
37
-
38
21
  var _keyboard = _interopRequireDefault(require("./keyboard"));
39
-
40
22
  var _map_event = _interopRequireDefault(require("./map_event"));
41
-
42
23
  var _mouse = require("./mouse");
43
-
44
24
  var _scroll_zoom = _interopRequireDefault(require("./scroll_zoom"));
45
-
46
25
  var _dblclick_zoom = _interopRequireDefault(require("./shim/dblclick_zoom"));
47
-
48
26
  var _drag_pan = _interopRequireDefault(require("./shim/drag_pan"));
49
-
50
27
  var _drag_rotate = _interopRequireDefault(require("./shim/drag_rotate"));
51
-
52
28
  var _touch_zoom_rotate = _interopRequireDefault(require("./shim/touch_zoom_rotate"));
53
-
54
29
  var _tap_drag_zoom = _interopRequireDefault(require("./tap/tap_drag_zoom"));
55
-
56
30
  var _tap_zoom = _interopRequireDefault(require("./tap/tap_zoom"));
57
-
58
31
  var _touch = require("./touch");
59
-
60
32
  function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
61
-
62
33
  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); }
63
-
64
- 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; }
65
-
34
+ 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; } // @ts-ignore
35
+ // tslint:disable-next-line: no-submodule-imports
36
+ var merge = _l7Utils.lodashUtil.merge;
66
37
  var _isMoving = function isMoving(p) {
67
38
  return p.zoom || p.drag || p.pitch || p.rotate;
68
39
  };
69
-
70
40
  function hasChange(result) {
71
41
  return result.panDelta && result.panDelta.mag() || result.zoomDelta || result.bearingDelta || result.pitchDelta;
72
42
  }
73
-
74
43
  var HandlerManager = /*#__PURE__*/function () {
75
44
  function HandlerManager(map, options) {
76
45
  var _this = this;
77
-
78
46
  (0, _classCallCheck2.default)(this, HandlerManager);
79
47
  (0, _defineProperty2.default)(this, "handleWindowEvent", function (e) {
80
48
  _this.handleEvent(e, "".concat(e.type, "Window"));
@@ -82,12 +50,11 @@ var HandlerManager = /*#__PURE__*/function () {
82
50
  (0, _defineProperty2.default)(this, "handleEvent", function (e, eventName) {
83
51
  if (e.type === 'blur') {
84
52
  _this.stop();
85
-
86
53
  return;
87
54
  }
88
-
89
55
  _this.updatingCamera = true;
90
56
  var inputEvent = e.type === 'renderFrame' ? undefined : e;
57
+
91
58
  /*
92
59
  * We don't call e.preventDefault() for any events by default.
93
60
  * Handlers are responsible for calling it where necessary.
@@ -97,46 +64,39 @@ var HandlerManager = /*#__PURE__*/function () {
97
64
  needsRenderFrame: false
98
65
  };
99
66
  var eventsInProgress = {};
100
- var activeHandlers = {}; // @ts-ignore
101
-
102
- var mapTouches = e.touches ? // @ts-ignore
67
+ var activeHandlers = {};
68
+ // @ts-ignore
69
+ var mapTouches = e.touches ?
70
+ // @ts-ignore
103
71
  _this.getMapTouches(e.touches) : undefined;
104
72
  var points = mapTouches ? _dom.default.touchPos(_this.el, mapTouches) : _dom.default.mousePos(_this.el, e);
105
-
106
73
  var _iterator = _createForOfIteratorHelper(_this.handlers),
107
- _step;
108
-
74
+ _step;
109
75
  try {
110
76
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
111
77
  var _step$value = _step.value,
112
- handlerName = _step$value.handlerName,
113
- handler = _step$value.handler,
114
- allowed = _step$value.allowed;
115
-
78
+ handlerName = _step$value.handlerName,
79
+ handler = _step$value.handler,
80
+ allowed = _step$value.allowed;
116
81
  if (!handler.isEnabled()) {
117
82
  continue;
118
83
  }
119
-
120
84
  var data = void 0;
121
-
122
85
  if (_this.blockedByActive(activeHandlers, allowed, handlerName)) {
123
86
  handler.reset();
124
87
  } else {
125
- var handerName = eventName || e.type; // @ts-ignore
126
-
88
+ var handerName = eventName || e.type;
89
+ // @ts-ignore
127
90
  if (handler && handler[handerName]) {
128
91
  // @ts-ignore
129
92
  data = handler[handerName](e, points, mapTouches);
130
-
131
93
  _this.mergeIHandlerResult(mergedIHandlerResult, eventsInProgress, data, handlerName, inputEvent);
132
-
133
94
  if (data && data.needsRenderFrame) {
134
95
  _this.triggerRenderFrame();
135
96
  }
136
97
  }
137
- } // @ts-ignore
138
-
139
-
98
+ }
99
+ // @ts-ignore
140
100
  if (data || handler.isActive()) {
141
101
  activeHandlers[handlerName] = handler;
142
102
  }
@@ -146,35 +106,25 @@ var HandlerManager = /*#__PURE__*/function () {
146
106
  } finally {
147
107
  _iterator.f();
148
108
  }
149
-
150
109
  var deactivatedHandlers = {};
151
-
152
110
  for (var name in _this.previousActiveHandlers) {
153
111
  if (!activeHandlers[name]) {
154
112
  deactivatedHandlers[name] = inputEvent;
155
113
  }
156
114
  }
157
-
158
115
  _this.previousActiveHandlers = activeHandlers;
159
-
160
116
  if (Object.keys(deactivatedHandlers).length || hasChange(mergedIHandlerResult)) {
161
117
  _this.changes.push([mergedIHandlerResult, eventsInProgress, deactivatedHandlers]);
162
-
163
118
  _this.triggerRenderFrame();
164
119
  }
165
-
166
120
  if (Object.keys(activeHandlers).length || hasChange(mergedIHandlerResult)) {
167
121
  _this.map.stop(true);
168
122
  }
169
-
170
123
  _this.updatingCamera = false;
171
124
  var cameraAnimation = mergedIHandlerResult.cameraAnimation;
172
-
173
125
  if (cameraAnimation) {
174
126
  _this.inertia.clear();
175
-
176
127
  _this.fireEvents({}, {});
177
-
178
128
  _this.changes = [];
179
129
  cameraAnimation(_this.map);
180
130
  }
@@ -188,93 +138,75 @@ var HandlerManager = /*#__PURE__*/function () {
188
138
  this.bearingSnap = options.bearingSnap;
189
139
  this.rotateEnabled = options.rotateEnabled;
190
140
  this.pitchEnabled = options.pitchEnabled;
191
- this.previousActiveHandlers = {}; // Track whether map is currently moving, to compute start/move/end events
141
+ this.previousActiveHandlers = {};
192
142
 
143
+ // Track whether map is currently moving, to compute start/move/end events
193
144
  this.eventsInProgress = {};
194
145
  this.addDefaultHandlers(options);
195
146
  var el = this.el;
196
147
  this.listeners = [];
197
-
198
- if (!_l7Utils.isMini) {
199
- // l7 - mini
200
- this.listeners = [// Bind touchstart and touchmove with passive: false because, even though
201
- // they only fire a map events and therefore could theoretically be
202
- // passive, binding with passive: true causes iOS not to respect
203
- // e.preventDefault() in _other_ handlers, even if they are non-passive
204
- // (see https://bugs.webkit.org/show_bug.cgi?id=184251)
205
- [el, 'touchstart', {
206
- passive: false
207
- }], [el, 'touchmove', {
208
- passive: false
209
- }], [el, 'touchend', undefined], [el, 'touchcancel', undefined], [el, 'mousedown', undefined], [el, 'mousemove', undefined], [el, 'mouseup', undefined], // Bind window-level event listeners for move and up/end events. In the absence of
210
- // the pointer capture API, which is not supported by all necessary platforms,
211
- // window-level event listeners give us the best shot at capturing events that
212
- // fall outside the map canvas element. Use `{capture: true}` for the move event
213
- // to prevent map move events from being fired during a drag.
214
- // @ts-ignore
215
- [window.document, 'mousemove', {
216
- capture: true
217
- }], // @ts-ignore
218
- [window.document, 'mouseup', undefined], [el, 'mouseover', undefined], [el, 'mouseout', undefined], [el, 'dblclick', undefined], [el, 'click', undefined], [el, 'keydown', {
219
- capture: false
220
- }], [el, 'keyup', undefined], [el, 'wheel', {
221
- passive: false
222
- }], [el, 'contextmenu', undefined], // @ts-ignore
223
- [window, 'blur', undefined]];
224
-
225
- var _iterator2 = _createForOfIteratorHelper(this.listeners),
226
- _step2;
227
-
228
- try {
229
- for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
230
- var _step2$value = (0, _slicedToArray2.default)(_step2.value, 3),
231
- target = _step2$value[0],
232
- type = _step2$value[1],
233
- listenerOptions = _step2$value[2];
234
-
235
- // @ts-ignore
236
- _dom.default.addEventListener(target, type, // @ts-ignore
237
- target === window.document ? this.handleWindowEvent : this.handleEvent, listenerOptions);
238
- }
239
- } catch (err) {
240
- _iterator2.e(err);
241
- } finally {
242
- _iterator2.f();
148
+ // l7 - mini
149
+ this.listeners = [
150
+ // Bind touchstart and touchmove with passive: false because, even though
151
+ // they only fire a map events and therefore could theoretically be
152
+ // passive, binding with passive: true causes iOS not to respect
153
+ // e.preventDefault() in _other_ handlers, even if they are non-passive
154
+ // (see https://bugs.webkit.org/show_bug.cgi?id=184251)
155
+ [el, 'touchstart', {
156
+ passive: false
157
+ }], [el, 'touchmove', {
158
+ passive: false
159
+ }], [el, 'touchend', undefined], [el, 'touchcancel', undefined], [el, 'mousedown', undefined], [el, 'mousemove', undefined], [el, 'mouseup', undefined],
160
+ // Bind window-level event listeners for move and up/end events. In the absence of
161
+ // the pointer capture API, which is not supported by all necessary platforms,
162
+ // window-level event listeners give us the best shot at capturing events that
163
+ // fall outside the map canvas element. Use `{capture: true}` for the move event
164
+ // to prevent map move events from being fired during a drag.
165
+ // @ts-ignore
166
+ [window.document, 'mousemove', {
167
+ capture: true
168
+ }],
169
+ // @ts-ignore
170
+ [window.document, 'mouseup', undefined], [el, 'mouseover', undefined], [el, 'mouseout', undefined], [el, 'dblclick', undefined], [el, 'click', undefined], [el, 'keydown', {
171
+ capture: false
172
+ }], [el, 'keyup', undefined], [el, 'wheel', {
173
+ passive: false
174
+ }], [el, 'contextmenu', undefined],
175
+ // @ts-ignore
176
+ [window, 'blur', undefined]];
177
+ var _iterator2 = _createForOfIteratorHelper(this.listeners),
178
+ _step2;
179
+ try {
180
+ for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
181
+ var _step2$value = (0, _slicedToArray2.default)(_step2.value, 3),
182
+ target = _step2$value[0],
183
+ type = _step2$value[1],
184
+ listenerOptions = _step2$value[2];
185
+ // @ts-ignore
186
+ _dom.default.addEventListener(target, type,
187
+ // @ts-ignore
188
+ target === window.document ? this.handleWindowEvent : this.handleEvent, listenerOptions);
243
189
  }
244
- } else {
245
- _l7Utils.$window.document.addEventListener('touchstart', function (e) {
246
- _this.handleEvent(e);
247
- }, {});
248
-
249
- _l7Utils.$window.document.addEventListener('touchmove', function (e) {
250
- _this.handleEvent(e);
251
- }, {});
252
-
253
- _l7Utils.$window.document.addEventListener('touchend', function (e) {
254
- _this.handleEvent(e);
255
- }, {});
256
-
257
- _l7Utils.$window.document.addEventListener('touchcancel', function (e) {
258
- _this.handleEvent(e);
259
- }, {});
190
+ } catch (err) {
191
+ _iterator2.e(err);
192
+ } finally {
193
+ _iterator2.f();
260
194
  }
261
195
  }
262
-
263
196
  (0, _createClass2.default)(HandlerManager, [{
264
197
  key: "destroy",
265
198
  value: function destroy() {
266
199
  var _iterator3 = _createForOfIteratorHelper(this.listeners),
267
- _step3;
268
-
200
+ _step3;
269
201
  try {
270
202
  for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
271
203
  var _step3$value = (0, _slicedToArray2.default)(_step3.value, 3),
272
- target = _step3$value[0],
273
- type = _step3$value[1],
274
- listenerOptions = _step3$value[2];
275
-
204
+ target = _step3$value[0],
205
+ type = _step3$value[1],
206
+ listenerOptions = _step3$value[2];
207
+ // @ts-ignore
208
+ _dom.default.removeEventListener(target, type,
276
209
  // @ts-ignore
277
- _dom.default.removeEventListener(target, type, // @ts-ignore
278
210
  target === window.document ? this.handleWindowEvent : this.handleEvent, listenerOptions);
279
211
  }
280
212
  } catch (err) {
@@ -290,10 +222,8 @@ var HandlerManager = /*#__PURE__*/function () {
290
222
  if (this.updatingCamera) {
291
223
  return;
292
224
  }
293
-
294
225
  var _iterator4 = _createForOfIteratorHelper(this.handlers),
295
- _step4;
296
-
226
+ _step4;
297
227
  try {
298
228
  for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
299
229
  var handler = _step4.value.handler;
@@ -304,7 +234,6 @@ var HandlerManager = /*#__PURE__*/function () {
304
234
  } finally {
305
235
  _iterator4.f();
306
236
  }
307
-
308
237
  this.inertia.clear();
309
238
  this.fireEvents({}, {});
310
239
  this.changes = [];
@@ -313,12 +242,10 @@ var HandlerManager = /*#__PURE__*/function () {
313
242
  key: "isActive",
314
243
  value: function isActive() {
315
244
  var _iterator5 = _createForOfIteratorHelper(this.handlers),
316
- _step5;
317
-
245
+ _step5;
318
246
  try {
319
247
  for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {
320
248
  var handler = _step5.value.handler;
321
-
322
249
  if (handler.isActive()) {
323
250
  return true;
324
251
  }
@@ -328,7 +255,6 @@ var HandlerManager = /*#__PURE__*/function () {
328
255
  } finally {
329
256
  _iterator5.f();
330
257
  }
331
-
332
258
  return false;
333
259
  }
334
260
  }, {
@@ -352,25 +278,22 @@ var HandlerManager = /*#__PURE__*/function () {
352
278
  if (!HandlerResult) {
353
279
  return;
354
280
  }
355
-
356
- (0, _lodash.merge)(mergedIHandlerResult, HandlerResult);
281
+ merge(mergedIHandlerResult, HandlerResult);
357
282
  var eventData = {
358
283
  handlerName: name,
359
284
  originalEvent: HandlerResult.originalEvent || e
360
- }; // track which handler changed which camera property
285
+ };
361
286
 
287
+ // track which handler changed which camera property
362
288
  if (HandlerResult.zoomDelta !== undefined) {
363
289
  eventsInProgress.zoom = eventData;
364
290
  }
365
-
366
291
  if (HandlerResult.panDelta !== undefined) {
367
292
  eventsInProgress.drag = eventData;
368
293
  }
369
-
370
294
  if (HandlerResult.pitchDelta !== undefined) {
371
295
  eventsInProgress.pitch = eventData;
372
296
  }
373
-
374
297
  if (HandlerResult.bearingDelta !== undefined) {
375
298
  eventsInProgress.rotate = eventData;
376
299
  }
@@ -379,16 +302,13 @@ var HandlerManager = /*#__PURE__*/function () {
379
302
  key: "triggerRenderFrame",
380
303
  value: function triggerRenderFrame() {
381
304
  var _this2 = this;
382
-
383
305
  if (this.frameId === undefined) {
384
306
  this.frameId = this.map.requestRenderFrame(function (timeStamp) {
385
307
  // @ts-ignore
386
308
  delete _this2.frameId;
387
-
388
309
  _this2.handleEvent(new _render_event.default('renderFrame', {
389
310
  timeStamp: timeStamp
390
311
  }));
391
-
392
312
  _this2.applyChanges();
393
313
  });
394
314
  }
@@ -430,10 +350,8 @@ var HandlerManager = /*#__PURE__*/function () {
430
350
  var keyboard = map.keyboard = new _keyboard.default();
431
351
  this.add('keyboard', keyboard);
432
352
  this.add('blockableMapEvent', new _blockable_map_event.default(map));
433
-
434
353
  for (var _i = 0, _arr = ['boxZoom', 'doubleClickZoom', 'tapDragZoom', 'touchPitch', 'dragRotate', 'dragPan', 'touchZoomRotate', 'scrollZoom', 'keyboard']; _i < _arr.length; _i++) {
435
354
  var name = _arr[_i];
436
-
437
355
  // @ts-ignore
438
356
  if (options.interactive && options[name]) {
439
357
  // @ts-ignore
@@ -458,28 +376,23 @@ var HandlerManager = /*#__PURE__*/function () {
458
376
  if (name === myName) {
459
377
  continue;
460
378
  }
461
-
462
379
  if (!allowed || allowed.indexOf(name) < 0) {
463
380
  return true;
464
381
  }
465
382
  }
466
-
467
383
  return false;
468
384
  }
469
385
  }, {
470
386
  key: "getMapTouches",
471
387
  value: function getMapTouches(touches) {
472
388
  var mapTouches = [];
473
-
474
389
  var _iterator6 = _createForOfIteratorHelper(touches),
475
- _step6;
476
-
390
+ _step6;
477
391
  try {
478
392
  for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) {
479
393
  var t = _step6.value;
480
394
  var target = t.target;
481
-
482
- if (_l7Utils.isMini || this.el.contains(target)) {
395
+ if (this.el.contains(target)) {
483
396
  mapTouches.push(t);
484
397
  }
485
398
  }
@@ -488,7 +401,6 @@ var HandlerManager = /*#__PURE__*/function () {
488
401
  } finally {
489
402
  _iterator6.f();
490
403
  }
491
-
492
404
  return mapTouches;
493
405
  }
494
406
  }, {
@@ -497,54 +409,43 @@ var HandlerManager = /*#__PURE__*/function () {
497
409
  var combined = {};
498
410
  var combinedEventsInProgress = {};
499
411
  var combinedDeactivatedHandlers = {};
500
-
501
412
  var _iterator7 = _createForOfIteratorHelper(this.changes),
502
- _step7;
503
-
413
+ _step7;
504
414
  try {
505
415
  for (_iterator7.s(); !(_step7 = _iterator7.n()).done;) {
506
416
  var _step7$value = (0, _slicedToArray2.default)(_step7.value, 3),
507
- change = _step7$value[0],
508
- eventsInProgress = _step7$value[1],
509
- deactivatedHandlers = _step7$value[2];
510
-
417
+ change = _step7$value[0],
418
+ eventsInProgress = _step7$value[1],
419
+ deactivatedHandlers = _step7$value[2];
511
420
  if (change.panDelta) {
512
421
  combined.panDelta = (combined.panDelta || new _point.default(0, 0))._add(change.panDelta);
513
422
  }
514
-
515
423
  if (change.zoomDelta) {
516
424
  combined.zoomDelta = (combined.zoomDelta || 0) + change.zoomDelta;
517
425
  }
518
-
519
426
  if (change.bearingDelta) {
520
427
  combined.bearingDelta = (combined.bearingDelta || 0) + change.bearingDelta;
521
428
  }
522
-
523
429
  if (change.pitchDelta) {
524
430
  combined.pitchDelta = (combined.pitchDelta || 0) + change.pitchDelta;
525
431
  }
526
-
527
432
  if (change.around !== undefined) {
528
433
  combined.around = change.around;
529
434
  }
530
-
531
435
  if (change.pinchAround !== undefined) {
532
436
  combined.pinchAround = change.pinchAround;
533
437
  }
534
-
535
438
  if (change.noInertia) {
536
439
  combined.noInertia = change.noInertia;
537
440
  }
538
-
539
- (0, _lodash.merge)(combinedEventsInProgress, eventsInProgress);
540
- (0, _lodash.merge)(combinedDeactivatedHandlers, deactivatedHandlers);
441
+ merge(combinedEventsInProgress, eventsInProgress);
442
+ merge(combinedDeactivatedHandlers, deactivatedHandlers);
541
443
  }
542
444
  } catch (err) {
543
445
  _iterator7.e(err);
544
446
  } finally {
545
447
  _iterator7.f();
546
448
  }
547
-
548
449
  this.updateMapTransform(combined, combinedEventsInProgress, combinedDeactivatedHandlers);
549
450
  this.changes = [];
550
451
  }
@@ -553,106 +454,84 @@ var HandlerManager = /*#__PURE__*/function () {
553
454
  value: function updateMapTransform(combinedResult, combinedEventsInProgress, deactivatedHandlers) {
554
455
  var map = this.map;
555
456
  var tr = map.transform;
556
-
557
457
  if (!hasChange(combinedResult)) {
558
458
  return this.fireEvents(combinedEventsInProgress, deactivatedHandlers);
559
459
  }
560
-
561
460
  var panDelta = combinedResult.panDelta,
562
- zoomDelta = combinedResult.zoomDelta,
563
- bearingDelta = combinedResult.bearingDelta,
564
- pitchDelta = combinedResult.pitchDelta,
565
- pinchAround = combinedResult.pinchAround;
461
+ zoomDelta = combinedResult.zoomDelta,
462
+ bearingDelta = combinedResult.bearingDelta,
463
+ pitchDelta = combinedResult.pitchDelta,
464
+ pinchAround = combinedResult.pinchAround;
566
465
  var around = combinedResult.around;
567
-
568
466
  if (pinchAround !== undefined) {
569
467
  around = pinchAround;
570
- } // stop any ongoing camera animations (easeTo, flyTo)
571
-
468
+ }
572
469
 
470
+ // stop any ongoing camera animations (easeTo, flyTo)
573
471
  map.stop(true);
574
472
  around = around || map.transform.centerPoint;
575
473
  var loc = tr.pointLocation(panDelta ? around.sub(panDelta) : around);
576
-
577
474
  if (bearingDelta && this.rotateEnabled) {
578
475
  tr.bearing += bearingDelta;
579
476
  }
580
-
581
477
  if (pitchDelta && this.pitchEnabled) {
582
478
  tr.pitch += pitchDelta;
583
479
  }
584
-
585
480
  if (zoomDelta) {
586
481
  tr.zoom += zoomDelta;
587
482
  }
588
-
589
483
  tr.setLocationAtPoint(loc, around);
590
484
  this.map.update();
591
-
592
485
  if (!combinedResult.noInertia) {
593
486
  this.inertia.record(combinedResult);
594
487
  }
595
-
596
488
  this.fireEvents(combinedEventsInProgress, deactivatedHandlers);
597
489
  }
598
490
  }, {
599
491
  key: "fireEvents",
600
492
  value: function fireEvents(newEventsInProgress, deactivatedHandlers) {
601
493
  var _this3 = this;
602
-
603
494
  var wasMoving = _isMoving(this.eventsInProgress);
604
-
605
495
  var nowMoving = _isMoving(newEventsInProgress);
606
-
607
496
  var startEvents = {};
608
-
609
497
  for (var eventName in newEventsInProgress) {
610
498
  if (newEventsInProgress[eventName]) {
611
499
  var originalEvent = newEventsInProgress[eventName].originalEvent;
612
-
613
500
  if (!this.eventsInProgress[eventName]) {
614
501
  startEvents["".concat(eventName, "start")] = originalEvent;
615
502
  }
616
-
617
503
  this.eventsInProgress[eventName] = newEventsInProgress[eventName];
618
504
  }
619
- } // fire start events only after this.eventsInProgress has been updated
620
-
505
+ }
621
506
 
507
+ // fire start events only after this.eventsInProgress has been updated
622
508
  if (!wasMoving && nowMoving) {
623
509
  this.fireEvent('movestart', nowMoving.originalEvent);
624
510
  }
625
-
626
511
  for (var name in startEvents) {
627
512
  if (startEvents[name]) {
628
513
  this.fireEvent(name, startEvents[name]);
629
514
  }
630
515
  }
631
-
632
516
  if (newEventsInProgress.rotate) {
633
517
  this.bearingChanged = true;
634
518
  }
635
-
636
519
  if (nowMoving) {
637
520
  this.fireEvent('move', nowMoving.originalEvent);
638
521
  }
639
-
640
522
  for (var _eventName in newEventsInProgress) {
641
523
  if (newEventsInProgress[_eventName]) {
642
524
  var _originalEvent = newEventsInProgress[_eventName].originalEvent;
643
525
  this.fireEvent(_eventName, _originalEvent);
644
526
  }
645
527
  }
646
-
647
528
  var endEvents = {};
648
529
  var originalEndEvent;
649
-
650
530
  for (var _eventName2 in this.eventsInProgress) {
651
531
  if (this.eventsInProgress[_eventName2]) {
652
532
  var _this$eventsInProgres = this.eventsInProgress[_eventName2],
653
- handlerName = _this$eventsInProgres.handlerName,
654
- _originalEvent2 = _this$eventsInProgres.originalEvent;
655
-
533
+ handlerName = _this$eventsInProgres.handlerName,
534
+ _originalEvent2 = _this$eventsInProgres.originalEvent;
656
535
  if (!this.handlersById[handlerName].isActive()) {
657
536
  delete this.eventsInProgress[_eventName2];
658
537
  originalEndEvent = deactivatedHandlers[handlerName] || _originalEvent2;
@@ -660,28 +539,22 @@ var HandlerManager = /*#__PURE__*/function () {
660
539
  }
661
540
  }
662
541
  }
663
-
664
542
  for (var _name in endEvents) {
665
543
  if (endEvents[_name]) {
666
544
  this.fireEvent(_name, endEvents[_name]);
667
545
  }
668
546
  }
669
-
670
547
  var stillMoving = _isMoving(this.eventsInProgress);
671
-
672
548
  if ((wasMoving || nowMoving) && !stillMoving) {
673
549
  this.updatingCamera = true;
674
550
  var inertialEase = this.inertia.onMoveEnd(this.map.dragPan.inertiaOptions);
675
-
676
551
  var shouldSnapToNorth = function shouldSnapToNorth(bearing) {
677
552
  return bearing !== 0 && -_this3.bearingSnap < bearing && bearing < _this3.bearingSnap;
678
553
  };
679
-
680
554
  if (inertialEase) {
681
555
  if (shouldSnapToNorth(inertialEase.bearing || this.map.getBearing())) {
682
556
  inertialEase.bearing = 0;
683
557
  }
684
-
685
558
  this.map.easeTo(inertialEase, {
686
559
  originalEvent: originalEndEvent
687
560
  });
@@ -689,12 +562,10 @@ var HandlerManager = /*#__PURE__*/function () {
689
562
  this.map.emit('moveend', new _event.Event('moveend', {
690
563
  originalEvent: originalEndEvent
691
564
  }));
692
-
693
565
  if (shouldSnapToNorth(this.map.getBearing())) {
694
566
  this.map.resetNorth();
695
567
  }
696
568
  }
697
-
698
569
  this.bearingChanged = false;
699
570
  this.updatingCamera = false;
700
571
  }
@@ -709,6 +580,5 @@ var HandlerManager = /*#__PURE__*/function () {
709
580
  }]);
710
581
  return HandlerManager;
711
582
  }();
712
-
713
583
  var _default = HandlerManager;
714
584
  exports.default = _default;