@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,56 +1,46 @@
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 _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
-
12
9
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
13
-
14
10
  var _point = _interopRequireDefault(require("../geo/point"));
15
-
16
- var _merge = _interopRequireDefault(require("lodash/merge"));
17
-
11
+ var _l7Utils = require("@antv/l7-utils");
18
12
  var _util = require("../util");
19
-
20
13
  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
-
22
14
  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); }
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
-
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
17
+ var merge = _l7Utils.lodashUtil.merge;
26
18
  var defaultInertiaOptions = {
27
19
  linearity: 0.3,
28
20
  easing: (0, _util.bezier)(0, 0, 0.3, 1)
29
21
  };
30
- var defaultPanInertiaOptions = (0, _merge.default)({
22
+ var defaultPanInertiaOptions = merge({
31
23
  deceleration: 2500,
32
24
  maxSpeed: 1400
33
25
  }, defaultInertiaOptions);
34
- var defaultZoomInertiaOptions = (0, _merge.default)({
26
+ var defaultZoomInertiaOptions = merge({
35
27
  deceleration: 20,
36
28
  maxSpeed: 1400
37
29
  }, defaultInertiaOptions);
38
- var defaultBearingInertiaOptions = (0, _merge.default)({
30
+ var defaultBearingInertiaOptions = merge({
39
31
  deceleration: 1000,
40
32
  maxSpeed: 360
41
33
  }, defaultInertiaOptions);
42
- var defaultPitchInertiaOptions = (0, _merge.default)({
34
+ var defaultPitchInertiaOptions = merge({
43
35
  deceleration: 1000,
44
36
  maxSpeed: 90
45
37
  }, defaultInertiaOptions);
46
-
47
38
  var HandlerInertia = /*#__PURE__*/function () {
48
39
  function HandlerInertia(map) {
49
40
  (0, _classCallCheck2.default)(this, HandlerInertia);
50
41
  this.map = map;
51
42
  this.clear();
52
43
  }
53
-
54
44
  (0, _createClass2.default)(HandlerInertia, [{
55
45
  key: "clear",
56
46
  value: function clear() {
@@ -80,11 +70,9 @@ var HandlerInertia = /*#__PURE__*/function () {
80
70
  key: "onMoveEnd",
81
71
  value: function onMoveEnd(panInertiaOptions) {
82
72
  this.drainInertiaBuffer();
83
-
84
73
  if (this.inertiaBuffer.length < 2) {
85
74
  return;
86
75
  }
87
-
88
76
  var deltas = {
89
77
  zoom: 0,
90
78
  bearing: 0,
@@ -93,25 +81,20 @@ var HandlerInertia = /*#__PURE__*/function () {
93
81
  pinchAround: undefined,
94
82
  around: undefined
95
83
  };
96
-
97
84
  var _iterator = _createForOfIteratorHelper(this.inertiaBuffer),
98
- _step;
99
-
85
+ _step;
100
86
  try {
101
87
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
102
88
  var settings = _step.value.settings;
103
89
  deltas.zoom += settings.zoomDelta || 0;
104
90
  deltas.bearing += settings.bearingDelta || 0;
105
91
  deltas.pitch += settings.pitchDelta || 0;
106
-
107
92
  if (settings.panDelta) {
108
93
  deltas.pan._add(settings.panDelta);
109
94
  }
110
-
111
95
  if (settings.around) {
112
96
  deltas.around = settings.around;
113
97
  }
114
-
115
98
  if (settings.pinchAround) {
116
99
  deltas.pinchAround = settings.pinchAround;
117
100
  }
@@ -121,46 +104,36 @@ var HandlerInertia = /*#__PURE__*/function () {
121
104
  } finally {
122
105
  _iterator.f();
123
106
  }
124
-
125
107
  var lastEntry = this.inertiaBuffer[this.inertiaBuffer.length - 1];
126
108
  var duration = lastEntry.time - this.inertiaBuffer[0].time;
127
109
  var easeOptions = {};
128
-
129
110
  if (deltas.pan.mag()) {
130
- var result = calculateEasing(deltas.pan.mag(), duration, (0, _merge.default)({}, defaultPanInertiaOptions, panInertiaOptions || {}));
111
+ var result = calculateEasing(deltas.pan.mag(), duration, merge({}, defaultPanInertiaOptions, panInertiaOptions || {}));
131
112
  easeOptions.offset = deltas.pan.mult(result.amount / deltas.pan.mag());
132
113
  easeOptions.center = this.map.transform.center;
133
114
  extendDuration(easeOptions, result);
134
115
  }
135
-
136
116
  if (deltas.zoom) {
137
117
  var _result = calculateEasing(deltas.zoom, duration, defaultZoomInertiaOptions);
138
-
139
118
  easeOptions.zoom = this.map.transform.zoom + _result.amount;
140
119
  extendDuration(easeOptions, _result);
141
120
  }
142
-
143
121
  if (deltas.bearing) {
144
122
  var _result2 = calculateEasing(deltas.bearing, duration, defaultBearingInertiaOptions);
145
-
146
123
  easeOptions.bearing = this.map.transform.bearing + (0, _util.clamp)(_result2.amount, -179, 179);
147
124
  extendDuration(easeOptions, _result2);
148
125
  }
149
-
150
126
  if (deltas.pitch) {
151
127
  var _result3 = calculateEasing(deltas.pitch, duration, defaultPitchInertiaOptions);
152
-
153
128
  easeOptions.pitch = this.map.transform.pitch + _result3.amount;
154
129
  extendDuration(easeOptions, _result3);
155
130
  }
156
-
157
131
  if (easeOptions.zoom || easeOptions.bearing) {
158
132
  var last = deltas.pinchAround === undefined ? deltas.around : deltas.pinchAround;
159
133
  easeOptions.around = last ? this.map.unproject(last) : this.map.getCenter();
160
134
  }
161
-
162
135
  this.clear();
163
- return (0, _merge.default)(easeOptions, {
136
+ return merge(easeOptions, {
164
137
  noMoveStart: true
165
138
  });
166
139
  }
@@ -168,21 +141,17 @@ var HandlerInertia = /*#__PURE__*/function () {
168
141
  return HandlerInertia;
169
142
  }(); // Unfortunately zoom, bearing, etc can't have different durations and easings so
170
143
  // we need to choose one. We use the longest duration and it's corresponding easing.
171
-
172
-
173
144
  exports.default = HandlerInertia;
174
-
175
145
  function extendDuration(easeOptions, result) {
176
146
  if (!easeOptions.duration || easeOptions.duration < result.duration) {
177
147
  easeOptions.duration = result.duration;
178
148
  easeOptions.easing = result.easing;
179
149
  }
180
150
  }
181
-
182
151
  function calculateEasing(amount, inertiaDuration, inertiaOptions) {
183
152
  var maxSpeed = inertiaOptions.maxSpeed,
184
- linearity = inertiaOptions.linearity,
185
- deceleration = inertiaOptions.deceleration;
153
+ linearity = inertiaOptions.linearity,
154
+ deceleration = inertiaOptions.deceleration;
186
155
  var speed = (0, _util.clamp)(amount * linearity / (inertiaDuration / 1000), -maxSpeed, maxSpeed);
187
156
  var duration = Math.abs(speed) / (deceleration * linearity);
188
157
  return {