@antv/l7-map 2.18.2 → 2.18.3

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 (168) hide show
  1. package/es/camera.d.ts +85 -0
  2. package/es/camera.js +718 -0
  3. package/es/css/l7.css +98 -0
  4. package/es/earthmap.d.ts +66 -0
  5. package/es/earthmap.js +369 -0
  6. package/es/geo/edge_insets.d.ts +54 -0
  7. package/es/geo/edge_insets.js +108 -0
  8. package/es/geo/lng_lat.d.ts +18 -0
  9. package/es/geo/lng_lat.js +73 -0
  10. package/es/geo/lng_lat_bounds.d.ts +24 -0
  11. package/es/geo/lng_lat_bounds.js +154 -0
  12. package/es/geo/mercator.d.ts +29 -0
  13. package/es/geo/mercator.js +84 -0
  14. package/es/geo/point.d.ts +40 -0
  15. package/es/geo/point.js +224 -0
  16. package/es/geo/simple.d.ts +29 -0
  17. package/es/geo/simple.js +87 -0
  18. package/es/geo/transform.d.ts +198 -0
  19. package/es/geo/transform.js +961 -0
  20. package/es/handler/IHandler.d.ts +34 -0
  21. package/es/handler/IHandler.js +1 -0
  22. package/es/handler/blockable_map_event.d.ts +17 -0
  23. package/es/handler/blockable_map_event.js +78 -0
  24. package/es/handler/box_zoom.d.ts +59 -0
  25. package/es/handler/box_zoom.js +180 -0
  26. package/es/handler/click_zoom.d.ts +16 -0
  27. package/es/handler/click_zoom.js +54 -0
  28. package/es/handler/events/event.d.ts +4 -0
  29. package/es/handler/events/event.js +11 -0
  30. package/es/handler/events/index.d.ts +4 -0
  31. package/es/handler/events/index.js +4 -0
  32. package/es/handler/events/map_mouse_event.d.ts +34 -0
  33. package/es/handler/events/map_mouse_event.js +64 -0
  34. package/es/handler/events/map_touch_event.d.ts +57 -0
  35. package/es/handler/events/map_touch_event.js +95 -0
  36. package/es/handler/events/map_wheel_event.d.ts +33 -0
  37. package/es/handler/events/map_wheel_event.js +50 -0
  38. package/es/handler/events/render_event.d.ts +5 -0
  39. package/es/handler/events/render_event.js +26 -0
  40. package/es/handler/handler_inertia.d.ts +23 -0
  41. package/es/handler/handler_inertia.js +157 -0
  42. package/es/handler/handler_manager.d.ts +61 -0
  43. package/es/handler/handler_manager.js +577 -0
  44. package/es/handler/handler_util.d.ts +4 -0
  45. package/es/handler/handler_util.js +9 -0
  46. package/es/handler/keyboard.d.ts +36 -0
  47. package/es/handler/keyboard.js +143 -0
  48. package/es/handler/map_event.d.ts +29 -0
  49. package/es/handler/map_event.js +125 -0
  50. package/es/handler/mouse/index.d.ts +4 -0
  51. package/es/handler/mouse/index.js +4 -0
  52. package/es/handler/mouse/mouse_handler.d.ts +22 -0
  53. package/es/handler/mouse/mouse_handler.js +118 -0
  54. package/es/handler/mouse/mousepan_handler.d.ts +10 -0
  55. package/es/handler/mouse/mousepan_handler.js +44 -0
  56. package/es/handler/mouse/mousepitch_hander.d.ts +9 -0
  57. package/es/handler/mouse/mousepitch_hander.js +46 -0
  58. package/es/handler/mouse/mouserotate_hander.d.ts +9 -0
  59. package/es/handler/mouse/mouserotate_hander.js +46 -0
  60. package/es/handler/mouse/util.d.ts +6 -0
  61. package/es/handler/mouse/util.js +11 -0
  62. package/es/handler/scroll_zoom.d.ts +93 -0
  63. package/es/handler/scroll_zoom.js +325 -0
  64. package/es/handler/shim/dblclick_zoom.d.ts +40 -0
  65. package/es/handler/shim/dblclick_zoom.js +67 -0
  66. package/es/handler/shim/drag_pan.d.ts +61 -0
  67. package/es/handler/shim/drag_pan.js +84 -0
  68. package/es/handler/shim/drag_rotate.d.ts +46 -0
  69. package/es/handler/shim/drag_rotate.js +74 -0
  70. package/es/handler/shim/touch_zoom_rotate.d.ts +70 -0
  71. package/es/handler/shim/touch_zoom_rotate.js +115 -0
  72. package/es/handler/tap/single_tap_recognizer.d.ts +20 -0
  73. package/es/handler/tap/single_tap_recognizer.js +97 -0
  74. package/es/handler/tap/tap_drag_zoom.d.ts +22 -0
  75. package/es/handler/tap/tap_drag_zoom.js +106 -0
  76. package/es/handler/tap/tap_recognizer.d.ts +17 -0
  77. package/es/handler/tap/tap_recognizer.js +54 -0
  78. package/es/handler/tap/tap_zoom.d.ts +22 -0
  79. package/es/handler/tap/tap_zoom.js +109 -0
  80. package/es/handler/touch/index.d.ts +5 -0
  81. package/es/handler/touch/index.js +5 -0
  82. package/es/handler/touch/touch_pan.d.ts +30 -0
  83. package/es/handler/touch/touch_pan.js +110 -0
  84. package/es/handler/touch/touch_pitch.d.ts +13 -0
  85. package/es/handler/touch/touch_pitch.js +93 -0
  86. package/es/handler/touch/touch_rotate.d.ts +12 -0
  87. package/es/handler/touch/touch_rotate.js +77 -0
  88. package/es/handler/touch/touch_zoom.d.ts +12 -0
  89. package/es/handler/touch/touch_zoom.js +54 -0
  90. package/es/handler/touch/two_touch.d.ts +23 -0
  91. package/es/handler/touch/two_touch.js +125 -0
  92. package/es/hash.d.ts +14 -0
  93. package/es/hash.js +134 -0
  94. package/es/index.d.ts +4 -0
  95. package/es/index.js +4 -0
  96. package/es/interface.d.ts +34 -0
  97. package/es/interface.js +1 -0
  98. package/es/map.d.ts +70 -0
  99. package/es/map.js +387 -0
  100. package/es/util.d.ts +25 -0
  101. package/es/util.js +88 -0
  102. package/es/utils/Aabb.d.ts +12 -0
  103. package/es/utils/Aabb.js +112 -0
  104. package/es/utils/dom.d.ts +4 -0
  105. package/es/utils/dom.js +140 -0
  106. package/es/utils/performance.d.ts +17 -0
  107. package/es/utils/performance.js +62 -0
  108. package/es/utils/primitives.d.ts +6 -0
  109. package/es/utils/primitives.js +47 -0
  110. package/es/utils/task_queue.d.ts +13 -0
  111. package/es/utils/task_queue.js +89 -0
  112. package/lib/camera.js +724 -0
  113. package/lib/css/l7.css +98 -0
  114. package/lib/earthmap.js +376 -0
  115. package/lib/geo/edge_insets.js +114 -0
  116. package/lib/geo/lng_lat.js +81 -0
  117. package/lib/geo/lng_lat_bounds.js +161 -0
  118. package/lib/geo/mercator.js +100 -0
  119. package/lib/geo/point.js +231 -0
  120. package/lib/geo/simple.js +104 -0
  121. package/lib/geo/transform.js +971 -0
  122. package/lib/handler/IHandler.js +5 -0
  123. package/lib/handler/blockable_map_event.js +84 -0
  124. package/lib/handler/box_zoom.js +186 -0
  125. package/lib/handler/click_zoom.js +61 -0
  126. package/lib/handler/events/event.js +20 -0
  127. package/lib/handler/events/index.js +27 -0
  128. package/lib/handler/events/map_mouse_event.js +70 -0
  129. package/lib/handler/events/map_touch_event.js +100 -0
  130. package/lib/handler/events/map_wheel_event.js +57 -0
  131. package/lib/handler/events/render_event.js +33 -0
  132. package/lib/handler/handler_inertia.js +162 -0
  133. package/lib/handler/handler_manager.js +584 -0
  134. package/lib/handler/handler_util.js +15 -0
  135. package/lib/handler/keyboard.js +151 -0
  136. package/lib/handler/map_event.js +131 -0
  137. package/lib/handler/mouse/index.js +27 -0
  138. package/lib/handler/mouse/mouse_handler.js +124 -0
  139. package/lib/handler/mouse/mousepan_handler.js +49 -0
  140. package/lib/handler/mouse/mousepitch_hander.js +51 -0
  141. package/lib/handler/mouse/mouserotate_hander.js +51 -0
  142. package/lib/handler/mouse/util.js +22 -0
  143. package/lib/handler/scroll_zoom.js +333 -0
  144. package/lib/handler/shim/dblclick_zoom.js +74 -0
  145. package/lib/handler/shim/drag_pan.js +91 -0
  146. package/lib/handler/shim/drag_rotate.js +81 -0
  147. package/lib/handler/shim/touch_zoom_rotate.js +122 -0
  148. package/lib/handler/tap/single_tap_recognizer.js +106 -0
  149. package/lib/handler/tap/tap_drag_zoom.js +112 -0
  150. package/lib/handler/tap/tap_recognizer.js +63 -0
  151. package/lib/handler/tap/tap_zoom.js +115 -0
  152. package/lib/handler/touch/index.js +34 -0
  153. package/lib/handler/touch/touch_pan.js +117 -0
  154. package/lib/handler/touch/touch_pitch.js +98 -0
  155. package/lib/handler/touch/touch_rotate.js +82 -0
  156. package/lib/handler/touch/touch_zoom.js +59 -0
  157. package/lib/handler/touch/two_touch.js +131 -0
  158. package/lib/hash.js +143 -0
  159. package/lib/index.js +49 -0
  160. package/lib/interface.js +5 -0
  161. package/lib/map.js +394 -0
  162. package/lib/util.js +108 -0
  163. package/lib/utils/Aabb.js +119 -0
  164. package/lib/utils/dom.js +147 -0
  165. package/lib/utils/performance.js +70 -0
  166. package/lib/utils/primitives.js +54 -0
  167. package/lib/utils/task_queue.js +97 -0
  168. package/package.json +3 -3
@@ -0,0 +1,147 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = void 0;
8
+ var _point = _interopRequireDefault(require("../geo/point"));
9
+ 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; } } }; }
10
+ 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); }
11
+ 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
12
+ var DOM = {};
13
+ var _default = DOM;
14
+ exports.default = _default;
15
+ DOM.create = function (tagName, className, container) {
16
+ var el = window.document.createElement(tagName);
17
+ if (className !== undefined) {
18
+ el.className = className;
19
+ }
20
+ if (container) {
21
+ container.appendChild(el);
22
+ }
23
+ return el;
24
+ };
25
+ DOM.createNS = function (namespaceURI, tagName) {
26
+ var el = window.document.createElementNS(namespaceURI, tagName);
27
+ return el;
28
+ };
29
+ var docStyle = window.document && window.document.documentElement.style;
30
+ function testProp(props) {
31
+ if (!docStyle) {
32
+ return props[0];
33
+ }
34
+ var _iterator = _createForOfIteratorHelper(props),
35
+ _step;
36
+ try {
37
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
38
+ var i = _step.value;
39
+ if (i in docStyle) {
40
+ return i;
41
+ }
42
+ }
43
+ } catch (err) {
44
+ _iterator.e(err);
45
+ } finally {
46
+ _iterator.f();
47
+ }
48
+ return props[0];
49
+ }
50
+ var selectProp = testProp(['userSelect', 'MozUserSelect', 'WebkitUserSelect', 'msUserSelect']);
51
+ var userSelect;
52
+ DOM.disableDrag = function () {
53
+ if (docStyle && selectProp) {
54
+ userSelect = docStyle[selectProp];
55
+ docStyle[selectProp] = 'none';
56
+ }
57
+ };
58
+ DOM.enableDrag = function () {
59
+ if (docStyle && selectProp) {
60
+ docStyle[selectProp] = userSelect;
61
+ }
62
+ };
63
+ var transformProp = testProp(['transform', 'WebkitTransform']);
64
+ DOM.setTransform = function (el, value) {
65
+ // https://github.com/facebook/flow/issues/7754
66
+ // $FlowFixMe
67
+ el.style[transformProp] = value;
68
+ };
69
+
70
+ // Feature detection for {passive: false} support in add/removeEventListener.
71
+ var passiveSupported = false;
72
+ try {
73
+ // https://github.com/facebook/flow/issues/285
74
+ // $FlowFixMe
75
+ var options = Object.defineProperty({}, 'passive', {
76
+ get: function get() {
77
+ // eslint-disable-line
78
+ passiveSupported = true;
79
+ }
80
+ });
81
+ // @ts-ignore
82
+ window.addEventListener('test', options, options);
83
+ // @ts-ignore
84
+ window.removeEventListener('test', options, options);
85
+ } catch (err) {
86
+ passiveSupported = false;
87
+ }
88
+ DOM.addEventListener = function (target, type, callback) {
89
+ var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};
90
+ if ('passive' in options && passiveSupported) {
91
+ target.addEventListener(type, callback, options);
92
+ } else {
93
+ target.addEventListener(type, callback, options.capture);
94
+ }
95
+ };
96
+ DOM.removeEventListener = function (target, type, callback) {
97
+ var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};
98
+ if ('passive' in options && passiveSupported) {
99
+ target.removeEventListener(type, callback, options);
100
+ } else {
101
+ target.removeEventListener(type, callback, options.capture);
102
+ }
103
+ };
104
+
105
+ // Suppress the next click, but only if it's immediate.
106
+ var suppressClick = function suppressClick(e) {
107
+ e.preventDefault();
108
+ e.stopPropagation();
109
+ window.removeEventListener('click', suppressClick, true);
110
+ };
111
+ DOM.suppressClick = function () {
112
+ window.addEventListener('click', suppressClick, true);
113
+ setTimeout(function () {
114
+ window.removeEventListener('click', suppressClick, true);
115
+ }, 0);
116
+ };
117
+ DOM.mousePos = function (el, e) {
118
+ // 暂时从 el 上获取 top/left, 后面需要动态获取
119
+ var rect = el.getBoundingClientRect();
120
+ return new _point.default(e.clientX - rect.left - el.clientLeft, e.clientY - rect.top - el.clientTop);
121
+ };
122
+ DOM.touchPos = function (el, touches) {
123
+ // 暂时从 el 上获取 top/left, 后面需要动态获取
124
+ var rect = el.getBoundingClientRect();
125
+ var points = [];
126
+ var _iterator2 = _createForOfIteratorHelper(touches),
127
+ _step2;
128
+ try {
129
+ for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
130
+ var touche = _step2.value;
131
+ points.push(new _point.default(touche.clientX - rect.left - el.clientLeft, touche.clientY - rect.top - el.clientTop));
132
+ }
133
+ } catch (err) {
134
+ _iterator2.e(err);
135
+ } finally {
136
+ _iterator2.f();
137
+ }
138
+ return points;
139
+ };
140
+ DOM.mouseButton = function (e) {
141
+ return e.button;
142
+ };
143
+ DOM.remove = function (node) {
144
+ if (node.parentNode) {
145
+ node.parentNode.removeChild(node);
146
+ }
147
+ };
@@ -0,0 +1,70 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.PerformanceUtils = exports.PerformanceMarkers = void 0;
7
+ var lastFrameTime = null;
8
+ var frameTimes = [];
9
+ var minFramerateTarget = 30;
10
+ var frameTimeTarget = 1000 / minFramerateTarget;
11
+ var performance = window.performance;
12
+ var PerformanceMarkers = {
13
+ create: 'create',
14
+ load: 'load',
15
+ fullLoad: 'fullLoad'
16
+ };
17
+ exports.PerformanceMarkers = PerformanceMarkers;
18
+ var PerformanceUtils = {
19
+ mark: function mark(marker) {
20
+ performance.mark(marker);
21
+ },
22
+ frame: function frame(timestamp) {
23
+ var currTimestamp = timestamp;
24
+ if (lastFrameTime != null) {
25
+ var frameTime = currTimestamp - lastFrameTime;
26
+ frameTimes.push(frameTime);
27
+ }
28
+ lastFrameTime = currTimestamp;
29
+ },
30
+ clearMetrics: function clearMetrics() {
31
+ lastFrameTime = null;
32
+ frameTimes = [];
33
+ performance.clearMeasures('loadTime');
34
+ performance.clearMeasures('fullLoadTime');
35
+ // @ts-ignore
36
+ // tslint:disable-next-line:forin
37
+ for (var marker in PerformanceMarkers) {
38
+ // @ts-ignore
39
+ performance.clearMarks(PerformanceMarkers[marker]);
40
+ }
41
+ },
42
+ getPerformanceMetrics: function getPerformanceMetrics() {
43
+ var loadTime = performance.measure('loadTime', PerformanceMarkers.create, PerformanceMarkers.load
44
+ // @ts-ignore
45
+ ).duration;
46
+ var fullLoadTime = performance.measure('fullLoadTime', PerformanceMarkers.create, PerformanceMarkers.fullLoad
47
+ // @ts-ignore
48
+ ).duration;
49
+ var totalFrames = frameTimes.length;
50
+ var avgFrameTime = frameTimes.reduce(function (prev, curr) {
51
+ return prev + curr;
52
+ }, 0) / totalFrames / 1000;
53
+ var fps = 1 / avgFrameTime;
54
+
55
+ // count frames that missed our framerate target
56
+ var droppedFrames = frameTimes.filter(function (frameTime) {
57
+ return frameTime > frameTimeTarget;
58
+ }).reduce(function (acc, curr) {
59
+ return acc + (curr - frameTimeTarget) / frameTimeTarget;
60
+ }, 0);
61
+ var percentDroppedFrames = droppedFrames / (totalFrames + droppedFrames) * 100;
62
+ return {
63
+ loadTime: loadTime,
64
+ fullLoadTime: fullLoadTime,
65
+ fps: fps,
66
+ percentDroppedFrames: percentDroppedFrames
67
+ };
68
+ }
69
+ };
70
+ exports.PerformanceUtils = PerformanceUtils;
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = void 0;
8
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
9
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
10
+ var _glMatrix = require("gl-matrix");
11
+ var Frustum = /*#__PURE__*/function () {
12
+ function Frustum(points, planes) {
13
+ (0, _classCallCheck2.default)(this, Frustum);
14
+ this.points = points;
15
+ this.planes = planes;
16
+ }
17
+ (0, _createClass2.default)(Frustum, null, [{
18
+ key: "fromInvProjectionMatrix",
19
+ value: function fromInvProjectionMatrix(invProj, worldSize, zoom) {
20
+ var clipSpaceCorners = [[-1, 1, -1, 1], [1, 1, -1, 1], [1, -1, -1, 1], [-1, -1, -1, 1], [-1, 1, 1, 1], [1, 1, 1, 1], [1, -1, 1, 1], [-1, -1, 1, 1]];
21
+ var scale = Math.pow(2, zoom);
22
+
23
+ // Transform frustum corner points from clip space to tile space
24
+ var frustumCoords = clipSpaceCorners.map(function (v) {
25
+ return _glMatrix.vec4.transformMat4(new Float32Array([]), v, invProj);
26
+ }).map(function (v) {
27
+ return _glMatrix.vec4.scale(new Float32Array([]), v, 1.0 / v[3] / worldSize * scale);
28
+ });
29
+ var frustumPlanePointIndices = [[0, 1, 2],
30
+ // near
31
+ [6, 5, 4],
32
+ // far
33
+ [0, 3, 7],
34
+ // left
35
+ [2, 1, 5],
36
+ // right
37
+ [3, 2, 6],
38
+ // bottom
39
+ [0, 4, 5] // top
40
+ ];
41
+
42
+ var frustumPlanes = frustumPlanePointIndices.map(function (p) {
43
+ var a = _glMatrix.vec3.sub(new Float32Array(3), new Float32Array(frustumCoords[p[0]]), new Float32Array(frustumCoords[p[1]]));
44
+ var b = _glMatrix.vec3.sub(new Float32Array(3), new Float32Array(frustumCoords[p[2]]), new Float32Array(frustumCoords[p[1]]));
45
+ var n = _glMatrix.vec3.normalize(new Float32Array(3), _glMatrix.vec3.cross(new Float32Array(3), a, b));
46
+ var d = -_glMatrix.vec3.dot(n, new Float32Array(frustumCoords[p[1]]));
47
+ return n.concat(d);
48
+ });
49
+ return new Frustum(frustumCoords, frustumPlanes);
50
+ }
51
+ }]);
52
+ return Frustum;
53
+ }();
54
+ exports.default = Frustum;
@@ -0,0 +1,97 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = void 0;
8
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
9
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
10
+ 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; } } }; }
11
+ 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); }
12
+ 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; }
13
+ // can't mark opaque due to https://github.com/flowtype/flow-remove-types/pull/61
14
+ var TaskQueue = /*#__PURE__*/function () {
15
+ function TaskQueue() {
16
+ (0, _classCallCheck2.default)(this, TaskQueue);
17
+ this.queue = [];
18
+ this.id = 0;
19
+ this.cleared = false;
20
+ this.currentlyRunning = false;
21
+ }
22
+ (0, _createClass2.default)(TaskQueue, [{
23
+ key: "add",
24
+ value: function add(callback) {
25
+ var id = ++this.id;
26
+ var queue = this.queue;
27
+ queue.push({
28
+ callback: callback,
29
+ id: id,
30
+ cancelled: false
31
+ });
32
+ return id;
33
+ }
34
+ }, {
35
+ key: "remove",
36
+ value: function remove(id) {
37
+ var running = this.currentlyRunning;
38
+ var queue = running ? this.queue.concat(running) : this.queue;
39
+ var _iterator = _createForOfIteratorHelper(queue),
40
+ _step;
41
+ try {
42
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
43
+ var task = _step.value;
44
+ if (task.id === id) {
45
+ task.cancelled = true;
46
+ return;
47
+ }
48
+ }
49
+ } catch (err) {
50
+ _iterator.e(err);
51
+ } finally {
52
+ _iterator.f();
53
+ }
54
+ }
55
+ }, {
56
+ key: "run",
57
+ value: function run() {
58
+ var timeStamp = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
59
+ var queue = this.currentlyRunning = this.queue;
60
+
61
+ // Tasks queued by callbacks in the current queue should be executed
62
+ // on the next run, not the current run.
63
+ this.queue = [];
64
+ var _iterator2 = _createForOfIteratorHelper(queue),
65
+ _step2;
66
+ try {
67
+ for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
68
+ var task = _step2.value;
69
+ if (task.cancelled) {
70
+ continue;
71
+ }
72
+ task.callback(timeStamp);
73
+ if (this.cleared) {
74
+ break;
75
+ }
76
+ }
77
+ } catch (err) {
78
+ _iterator2.e(err);
79
+ } finally {
80
+ _iterator2.f();
81
+ }
82
+ this.cleared = false;
83
+ this.currentlyRunning = false;
84
+ }
85
+ }, {
86
+ key: "clear",
87
+ value: function clear() {
88
+ if (this.currentlyRunning) {
89
+ this.cleared = true;
90
+ }
91
+ this.queue = [];
92
+ }
93
+ }]);
94
+ return TaskQueue;
95
+ }();
96
+ var _default = TaskQueue;
97
+ exports.default = _default;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@antv/l7-map",
3
- "version": "2.18.2",
3
+ "version": "2.18.3",
4
4
  "description": "l7 map",
5
5
  "keywords": [],
6
6
  "author": "thinkinggis <lzx199065@gmail.com>",
@@ -40,7 +40,7 @@
40
40
  },
41
41
  "homepage": "https://github.com/antvis/L7#readme",
42
42
  "dependencies": {
43
- "@antv/l7-utils": "^2.18.2",
43
+ "@antv/l7-utils": "2.18.3",
44
44
  "@babel/runtime": "^7.7.7",
45
45
  "@mapbox/point-geometry": "^0.1.0",
46
46
  "@mapbox/unitbezier": "^0.0.0",
@@ -48,5 +48,5 @@
48
48
  "gl-matrix": "^3.1.0",
49
49
  "lodash-es": "^4.17.21"
50
50
  },
51
- "gitHead": "89de0cd3f4d2e6e71132577a2ae4e571e2acf0b8"
51
+ "gitHead": "882d6eaa2d503b4e50ad6d94b123f8f892c0f84c"
52
52
  }