@antv/l7-map 2.17.4 → 2.17.6

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