@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.
- package/es/camera.js +92 -149
- package/es/earthmap.js +15 -68
- package/es/geo/edge_insets.js +4 -14
- package/es/geo/lng_lat.js +5 -13
- package/es/geo/lng_lat_bounds.js +4 -17
- package/es/geo/mercator.js +2 -10
- package/es/geo/point.js +0 -7
- package/es/geo/simple.js +6 -11
- package/es/geo/transform.js +128 -138
- package/es/handler/blockable_map_event.js +7 -12
- package/es/handler/box_zoom.js +10 -30
- package/es/handler/click_zoom.js +0 -5
- package/es/handler/events/event.js +2 -3
- package/es/handler/events/map_mouse_event.js +2 -13
- package/es/handler/events/map_touch_event.js +2 -12
- package/es/handler/events/map_wheel_event.js +1 -12
- package/es/handler/events/render_event.js +0 -13
- package/es/handler/handler_inertia.js +8 -35
- package/es/handler/handler_manager.js +90 -197
- package/es/handler/handler_util.js +1 -2
- package/es/handler/keyboard.js +1 -20
- package/es/handler/map_event.js +3 -9
- package/es/handler/mouse/mouse_handler.js +11 -24
- package/es/handler/mouse/mousepan_handler.js +1 -11
- package/es/handler/mouse/mousepitch_hander.js +1 -11
- package/es/handler/mouse/mouserotate_hander.js +1 -11
- package/es/handler/mouse/util.js +2 -3
- package/es/handler/scroll_zoom.js +43 -71
- package/es/handler/shim/dblclick_zoom.js +4 -9
- package/es/handler/shim/drag_pan.js +6 -18
- package/es/handler/shim/drag_rotate.js +4 -10
- package/es/handler/shim/touch_zoom_rotate.js +8 -23
- package/es/handler/tap/single_tap_recognizer.js +8 -31
- package/es/handler/tap/tap_drag_zoom.js +7 -15
- package/es/handler/tap/tap_recognizer.js +3 -11
- package/es/handler/tap/tap_zoom.js +1 -7
- package/es/handler/touch/touch_pan.js +4 -22
- package/es/handler/touch/touch_pitch.js +10 -27
- package/es/handler/touch/touch_rotate.js +8 -19
- package/es/handler/touch/touch_zoom.js +5 -18
- package/es/handler/touch/two_touch.js +19 -32
- package/es/hash.js +13 -35
- package/es/map.js +30 -107
- package/es/util.d.ts +3 -3
- package/es/util.js +20 -33
- package/es/utils/Aabb.js +10 -31
- package/es/utils/dom.js +33 -111
- package/es/utils/performance.js +9 -9
- package/es/utils/primitives.js +13 -11
- package/es/utils/task_queue.js +6 -23
- package/lib/camera.js +102 -179
- package/lib/earthmap.js +14 -83
- package/lib/geo/edge_insets.js +3 -18
- package/lib/geo/lng_lat.js +5 -18
- package/lib/geo/lng_lat_bounds.js +4 -20
- package/lib/geo/mercator.js +1 -22
- package/lib/geo/point.js +0 -8
- package/lib/geo/simple.js +5 -24
- package/lib/geo/transform.js +128 -170
- package/lib/handler/blockable_map_event.js +6 -14
- package/lib/handler/box_zoom.js +8 -39
- package/lib/handler/click_zoom.js +0 -6
- package/lib/handler/events/event.js +4 -7
- package/lib/handler/events/index.js +0 -4
- package/lib/handler/events/map_mouse_event.js +5 -22
- package/lib/handler/events/map_touch_event.js +2 -21
- package/lib/handler/events/map_wheel_event.js +1 -16
- package/lib/handler/events/render_event.js +0 -19
- package/lib/handler/handler_inertia.js +13 -44
- package/lib/handler/handler_manager.js +92 -222
- package/lib/handler/handler_util.js +1 -3
- package/lib/handler/keyboard.js +1 -22
- package/lib/handler/map_event.js +2 -11
- package/lib/handler/mouse/index.js +0 -4
- package/lib/handler/mouse/mouse_handler.js +10 -27
- package/lib/handler/mouse/mousepan_handler.js +1 -18
- package/lib/handler/mouse/mousepitch_hander.js +1 -17
- package/lib/handler/mouse/mouserotate_hander.js +1 -17
- package/lib/handler/mouse/util.js +2 -6
- package/lib/handler/scroll_zoom.js +43 -77
- package/lib/handler/shim/dblclick_zoom.js +4 -10
- package/lib/handler/shim/drag_pan.js +6 -20
- package/lib/handler/shim/drag_rotate.js +4 -11
- package/lib/handler/shim/touch_zoom_rotate.js +8 -25
- package/lib/handler/tap/single_tap_recognizer.js +8 -33
- package/lib/handler/tap/tap_drag_zoom.js +6 -18
- package/lib/handler/tap/tap_recognizer.js +2 -17
- package/lib/handler/tap/tap_zoom.js +0 -9
- package/lib/handler/touch/index.js +0 -5
- package/lib/handler/touch/touch_pan.js +4 -25
- package/lib/handler/touch/touch_pitch.js +10 -32
- package/lib/handler/touch/touch_rotate.js +8 -25
- package/lib/handler/touch/touch_zoom.js +5 -24
- package/lib/handler/touch/two_touch.js +18 -35
- package/lib/hash.js +12 -38
- package/lib/index.js +0 -8
- package/lib/map.js +30 -125
- package/lib/util.js +19 -46
- package/lib/utils/Aabb.js +10 -34
- package/lib/utils/dom.js +32 -118
- package/lib/utils/performance.js +9 -11
- package/lib/utils/primitives.js +13 -16
- package/lib/utils/task_queue.js +6 -24
- 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
|
-
|
|
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 = {};
|
|
101
|
-
|
|
102
|
-
var mapTouches = e.touches ?
|
|
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
|
-
|
|
108
|
-
|
|
74
|
+
_step;
|
|
109
75
|
try {
|
|
110
76
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
111
77
|
var _step$value = _step.value,
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
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;
|
|
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
|
-
}
|
|
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 = {};
|
|
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
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
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
|
-
}
|
|
245
|
-
|
|
246
|
-
|
|
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
|
-
|
|
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
|
-
|
|
273
|
-
|
|
274
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
};
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
508
|
-
|
|
509
|
-
|
|
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
|
-
|
|
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
|
-
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
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
|
-
}
|
|
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
|
-
}
|
|
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
|
-
|
|
654
|
-
|
|
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;
|