@antv/l7-map 2.17.11 → 2.17.12

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 +148 -90
  2. package/es/earthmap.js +65 -13
  3. package/es/geo/edge_insets.js +14 -4
  4. package/es/geo/lng_lat.js +13 -5
  5. package/es/geo/lng_lat_bounds.js +17 -4
  6. package/es/geo/mercator.js +10 -2
  7. package/es/geo/point.js +7 -0
  8. package/es/geo/simple.js +11 -6
  9. package/es/geo/transform.js +132 -127
  10. package/es/handler/blockable_map_event.js +12 -7
  11. package/es/handler/box_zoom.js +30 -10
  12. package/es/handler/click_zoom.js +5 -0
  13. package/es/handler/events/event.js +2 -0
  14. package/es/handler/events/map_mouse_event.js +12 -0
  15. package/es/handler/events/map_touch_event.js +12 -2
  16. package/es/handler/events/map_wheel_event.js +12 -1
  17. package/es/handler/events/render_event.js +13 -0
  18. package/es/handler/handler_inertia.js +34 -6
  19. package/es/handler/handler_manager.js +147 -55
  20. package/es/handler/handler_util.js +2 -1
  21. package/es/handler/keyboard.js +20 -1
  22. package/es/handler/map_event.js +9 -3
  23. package/es/handler/mouse/mouse_handler.js +24 -11
  24. package/es/handler/mouse/mousepan_handler.js +11 -1
  25. package/es/handler/mouse/mousepitch_hander.js +11 -1
  26. package/es/handler/mouse/mouserotate_hander.js +11 -1
  27. package/es/handler/mouse/util.js +3 -2
  28. package/es/handler/scroll_zoom.js +71 -43
  29. package/es/handler/shim/dblclick_zoom.js +9 -4
  30. package/es/handler/shim/drag_pan.js +11 -4
  31. package/es/handler/shim/drag_rotate.js +10 -4
  32. package/es/handler/shim/touch_zoom_rotate.js +16 -6
  33. package/es/handler/tap/single_tap_recognizer.js +31 -8
  34. package/es/handler/tap/tap_drag_zoom.js +15 -7
  35. package/es/handler/tap/tap_recognizer.js +11 -3
  36. package/es/handler/tap/tap_zoom.js +7 -1
  37. package/es/handler/touch/touch_pan.js +22 -4
  38. package/es/handler/touch/touch_pitch.js +27 -10
  39. package/es/handler/touch/touch_rotate.js +19 -8
  40. package/es/handler/touch/touch_zoom.js +18 -5
  41. package/es/handler/touch/two_touch.js +32 -19
  42. package/es/hash.js +31 -9
  43. package/es/map.js +78 -16
  44. package/es/util.js +26 -18
  45. package/es/utils/Aabb.js +31 -10
  46. package/es/utils/dom.js +58 -24
  47. package/es/utils/performance.js +7 -8
  48. package/es/utils/primitives.js +11 -13
  49. package/es/utils/task_queue.js +23 -6
  50. package/lib/camera.js +169 -91
  51. package/lib/earthmap.js +80 -12
  52. package/lib/geo/edge_insets.js +18 -3
  53. package/lib/geo/lng_lat.js +18 -5
  54. package/lib/geo/lng_lat_bounds.js +20 -4
  55. package/lib/geo/mercator.js +22 -1
  56. package/lib/geo/point.js +8 -0
  57. package/lib/geo/simple.js +24 -5
  58. package/lib/geo/transform.js +164 -127
  59. package/lib/handler/blockable_map_event.js +14 -6
  60. package/lib/handler/box_zoom.js +39 -8
  61. package/lib/handler/click_zoom.js +6 -0
  62. package/lib/handler/events/event.js +5 -0
  63. package/lib/handler/events/index.js +4 -0
  64. package/lib/handler/events/map_mouse_event.js +20 -2
  65. package/lib/handler/events/map_touch_event.js +21 -2
  66. package/lib/handler/events/map_wheel_event.js +16 -1
  67. package/lib/handler/events/render_event.js +19 -0
  68. package/lib/handler/handler_inertia.js +37 -5
  69. package/lib/handler/handler_manager.js +171 -56
  70. package/lib/handler/handler_util.js +3 -1
  71. package/lib/handler/keyboard.js +22 -1
  72. package/lib/handler/map_event.js +11 -2
  73. package/lib/handler/mouse/index.js +4 -0
  74. package/lib/handler/mouse/mouse_handler.js +27 -10
  75. package/lib/handler/mouse/mousepan_handler.js +18 -1
  76. package/lib/handler/mouse/mousepitch_hander.js +17 -1
  77. package/lib/handler/mouse/mouserotate_hander.js +17 -1
  78. package/lib/handler/mouse/util.js +6 -2
  79. package/lib/handler/scroll_zoom.js +77 -43
  80. package/lib/handler/shim/dblclick_zoom.js +10 -4
  81. package/lib/handler/shim/drag_pan.js +13 -4
  82. package/lib/handler/shim/drag_rotate.js +11 -4
  83. package/lib/handler/shim/touch_zoom_rotate.js +18 -6
  84. package/lib/handler/tap/single_tap_recognizer.js +33 -8
  85. package/lib/handler/tap/tap_drag_zoom.js +18 -6
  86. package/lib/handler/tap/tap_recognizer.js +17 -2
  87. package/lib/handler/tap/tap_zoom.js +9 -0
  88. package/lib/handler/touch/index.js +5 -0
  89. package/lib/handler/touch/touch_pan.js +25 -4
  90. package/lib/handler/touch/touch_pitch.js +32 -10
  91. package/lib/handler/touch/touch_rotate.js +25 -8
  92. package/lib/handler/touch/touch_zoom.js +24 -5
  93. package/lib/handler/touch/two_touch.js +35 -18
  94. package/lib/hash.js +35 -8
  95. package/lib/index.js +8 -0
  96. package/lib/map.js +95 -15
  97. package/lib/util.js +38 -16
  98. package/lib/utils/Aabb.js +34 -10
  99. package/lib/utils/dom.js +64 -22
  100. package/lib/utils/performance.js +9 -8
  101. package/lib/utils/primitives.js +16 -13
  102. package/lib/utils/task_queue.js +24 -6
  103. package/package.json +3 -3
@@ -1,19 +1,28 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
4
5
  Object.defineProperty(exports, "__esModule", {
5
6
  value: true
6
7
  });
7
8
  exports.default = void 0;
9
+
8
10
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
+
9
12
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
13
+
10
14
  var _point = _interopRequireDefault(require("../geo/point"));
15
+
11
16
  var _merge = _interopRequireDefault(require("lodash/merge"));
17
+
12
18
  var _util = require("../util");
19
+
13
20
  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; } } }; }
21
+
14
22
  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); }
15
- 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
16
- // tslint:disable-next-line:no-submodule-imports
23
+
24
+ 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; }
25
+
17
26
  var defaultInertiaOptions = {
18
27
  linearity: 0.3,
19
28
  easing: (0, _util.bezier)(0, 0, 0.3, 1)
@@ -34,12 +43,14 @@ var defaultPitchInertiaOptions = (0, _merge.default)({
34
43
  deceleration: 1000,
35
44
  maxSpeed: 90
36
45
  }, defaultInertiaOptions);
46
+
37
47
  var HandlerInertia = /*#__PURE__*/function () {
38
48
  function HandlerInertia(map) {
39
49
  (0, _classCallCheck2.default)(this, HandlerInertia);
40
50
  this.map = map;
41
51
  this.clear();
42
52
  }
53
+
43
54
  (0, _createClass2.default)(HandlerInertia, [{
44
55
  key: "clear",
45
56
  value: function clear() {
@@ -69,9 +80,11 @@ var HandlerInertia = /*#__PURE__*/function () {
69
80
  key: "onMoveEnd",
70
81
  value: function onMoveEnd(panInertiaOptions) {
71
82
  this.drainInertiaBuffer();
83
+
72
84
  if (this.inertiaBuffer.length < 2) {
73
85
  return;
74
86
  }
87
+
75
88
  var deltas = {
76
89
  zoom: 0,
77
90
  bearing: 0,
@@ -80,20 +93,25 @@ var HandlerInertia = /*#__PURE__*/function () {
80
93
  pinchAround: undefined,
81
94
  around: undefined
82
95
  };
96
+
83
97
  var _iterator = _createForOfIteratorHelper(this.inertiaBuffer),
84
- _step;
98
+ _step;
99
+
85
100
  try {
86
101
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
87
102
  var settings = _step.value.settings;
88
103
  deltas.zoom += settings.zoomDelta || 0;
89
104
  deltas.bearing += settings.bearingDelta || 0;
90
105
  deltas.pitch += settings.pitchDelta || 0;
106
+
91
107
  if (settings.panDelta) {
92
108
  deltas.pan._add(settings.panDelta);
93
109
  }
110
+
94
111
  if (settings.around) {
95
112
  deltas.around = settings.around;
96
113
  }
114
+
97
115
  if (settings.pinchAround) {
98
116
  deltas.pinchAround = settings.pinchAround;
99
117
  }
@@ -103,34 +121,44 @@ var HandlerInertia = /*#__PURE__*/function () {
103
121
  } finally {
104
122
  _iterator.f();
105
123
  }
124
+
106
125
  var lastEntry = this.inertiaBuffer[this.inertiaBuffer.length - 1];
107
126
  var duration = lastEntry.time - this.inertiaBuffer[0].time;
108
127
  var easeOptions = {};
128
+
109
129
  if (deltas.pan.mag()) {
110
130
  var result = calculateEasing(deltas.pan.mag(), duration, (0, _merge.default)({}, defaultPanInertiaOptions, panInertiaOptions || {}));
111
131
  easeOptions.offset = deltas.pan.mult(result.amount / deltas.pan.mag());
112
132
  easeOptions.center = this.map.transform.center;
113
133
  extendDuration(easeOptions, result);
114
134
  }
135
+
115
136
  if (deltas.zoom) {
116
137
  var _result = calculateEasing(deltas.zoom, duration, defaultZoomInertiaOptions);
138
+
117
139
  easeOptions.zoom = this.map.transform.zoom + _result.amount;
118
140
  extendDuration(easeOptions, _result);
119
141
  }
142
+
120
143
  if (deltas.bearing) {
121
144
  var _result2 = calculateEasing(deltas.bearing, duration, defaultBearingInertiaOptions);
145
+
122
146
  easeOptions.bearing = this.map.transform.bearing + (0, _util.clamp)(_result2.amount, -179, 179);
123
147
  extendDuration(easeOptions, _result2);
124
148
  }
149
+
125
150
  if (deltas.pitch) {
126
151
  var _result3 = calculateEasing(deltas.pitch, duration, defaultPitchInertiaOptions);
152
+
127
153
  easeOptions.pitch = this.map.transform.pitch + _result3.amount;
128
154
  extendDuration(easeOptions, _result3);
129
155
  }
156
+
130
157
  if (easeOptions.zoom || easeOptions.bearing) {
131
158
  var last = deltas.pinchAround === undefined ? deltas.around : deltas.pinchAround;
132
159
  easeOptions.around = last ? this.map.unproject(last) : this.map.getCenter();
133
160
  }
161
+
134
162
  this.clear();
135
163
  return (0, _merge.default)(easeOptions, {
136
164
  noMoveStart: true
@@ -140,17 +168,21 @@ var HandlerInertia = /*#__PURE__*/function () {
140
168
  return HandlerInertia;
141
169
  }(); // Unfortunately zoom, bearing, etc can't have different durations and easings so
142
170
  // we need to choose one. We use the longest duration and it's corresponding easing.
171
+
172
+
143
173
  exports.default = HandlerInertia;
174
+
144
175
  function extendDuration(easeOptions, result) {
145
176
  if (!easeOptions.duration || easeOptions.duration < result.duration) {
146
177
  easeOptions.duration = result.duration;
147
178
  easeOptions.easing = result.easing;
148
179
  }
149
180
  }
181
+
150
182
  function calculateEasing(amount, inertiaDuration, inertiaOptions) {
151
183
  var maxSpeed = inertiaOptions.maxSpeed,
152
- linearity = inertiaOptions.linearity,
153
- deceleration = inertiaOptions.deceleration;
184
+ linearity = inertiaOptions.linearity,
185
+ deceleration = inertiaOptions.deceleration;
154
186
  var speed = (0, _util.clamp)(amount * linearity / (inertiaDuration / 1000), -maxSpeed, maxSpeed);
155
187
  var duration = Math.abs(speed) / (deceleration * linearity);
156
188
  return {