@antv/l7-map 2.15.2 → 2.15.4
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 +90 -148
- package/es/earthmap.js +13 -65
- 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 +123 -132
- 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 +0 -2
- package/es/handler/events/map_mouse_event.js +0 -12
- 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 +6 -34
- package/es/handler/handler_manager.js +55 -147
- 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 +4 -11
- package/es/handler/shim/drag_rotate.js +4 -10
- package/es/handler/shim/touch_zoom_rotate.js +6 -16
- 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 +9 -31
- package/es/map.js +16 -78
- package/es/util.js +18 -23
- package/es/utils/Aabb.js +10 -31
- package/es/utils/dom.js +24 -58
- package/es/utils/performance.js +8 -7
- package/es/utils/primitives.js +13 -11
- package/es/utils/task_queue.js +6 -23
- package/lib/camera.js +90 -168
- package/lib/earthmap.js +11 -79
- 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 +123 -164
- 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 +0 -5
- package/lib/handler/events/index.js +0 -4
- package/lib/handler/events/map_mouse_event.js +0 -19
- package/lib/handler/events/map_touch_event.js +1 -20
- 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 +4 -37
- package/lib/handler/handler_manager.js +55 -171
- 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 +0 -17
- package/lib/handler/mouse/mousepitch_hander.js +0 -16
- package/lib/handler/mouse/mouserotate_hander.js +0 -16
- 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 +4 -13
- package/lib/handler/shim/drag_rotate.js +4 -11
- package/lib/handler/shim/touch_zoom_rotate.js +6 -18
- 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 +9 -31
- package/lib/handler/touch/touch_rotate.js +7 -24
- package/lib/handler/touch/touch_zoom.js +4 -23
- package/lib/handler/touch/two_touch.js +18 -35
- package/lib/hash.js +8 -35
- package/lib/index.js +0 -8
- package/lib/map.js +14 -94
- package/lib/util.js +16 -34
- package/lib/utils/Aabb.js +10 -34
- package/lib/utils/dom.js +22 -64
- package/lib/utils/performance.js +8 -9
- package/lib/utils/primitives.js +13 -16
- package/lib/utils/task_queue.js +6 -24
- 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 = {};
|
|
73
|
-
|
|
74
|
-
var mapTouches = e.touches ?
|
|
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
|
-
|
|
80
|
-
|
|
68
|
+
_step;
|
|
81
69
|
try {
|
|
82
70
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
83
71
|
var _step$value = _step.value,
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
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;
|
|
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
|
-
}
|
|
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 = {};
|
|
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 = [
|
|
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],
|
|
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
|
-
}],
|
|
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],
|
|
169
|
+
}], [el, 'contextmenu', undefined],
|
|
170
|
+
// @ts-ignore
|
|
196
171
|
[window, 'blur', undefined]];
|
|
197
|
-
|
|
198
172
|
var _iterator2 = _createForOfIteratorHelper(this.listeners),
|
|
199
|
-
|
|
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
|
-
|
|
205
|
-
|
|
206
|
-
|
|
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
|
-
|
|
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
|
-
|
|
243
|
-
|
|
244
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
};
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
478
|
-
|
|
479
|
-
|
|
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
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
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
|
-
}
|
|
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
|
-
}
|
|
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
|
-
|
|
624
|
-
|
|
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;
|