@antv/l7-map 2.9.33 → 2.9.34
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/lib/camera.js +766 -508
- package/lib/earthmap.js +389 -223
- package/lib/geo/edge_insets.js +117 -64
- package/lib/geo/lng_lat.js +86 -65
- package/lib/geo/lng_lat_bounds.js +162 -123
- package/lib/geo/mercator.js +91 -62
- package/lib/geo/point.js +234 -171
- package/lib/geo/simple.js +93 -61
- package/lib/geo/transform.js +982 -472
- package/lib/handler/IHandler.js +4 -16
- package/lib/handler/blockable_map_event.js +84 -63
- package/lib/handler/box_zoom.js +201 -123
- package/lib/handler/click_zoom.js +63 -55
- package/lib/handler/events/event.js +20 -35
- package/lib/handler/events/index.js +28 -35
- package/lib/handler/events/map_mouse_event.js +85 -42
- package/lib/handler/events/map_touch_event.js +116 -45
- package/lib/handler/events/map_wheel_event.js +70 -34
- package/lib/handler/events/render_event.js +50 -31
- package/lib/handler/handler_inertia.js +158 -114
- package/lib/handler/handler_manager.js +640 -381
- package/lib/handler/handler_util.js +11 -29
- package/lib/handler/keyboard.js +155 -114
- package/lib/handler/map_event.js +133 -84
- package/lib/handler/mouse/index.js +28 -35
- package/lib/handler/mouse/mouse_handler.js +126 -90
- package/lib/handler/mouse/mousepan_handler.js +64 -46
- package/lib/handler/mouse/mousepitch_hander.js +64 -44
- package/lib/handler/mouse/mouserotate_hander.js +64 -44
- package/lib/handler/mouse/util.js +22 -40
- package/lib/handler/scroll_zoom.js +318 -176
- package/lib/handler/shim/dblclick_zoom.js +76 -42
- package/lib/handler/shim/drag_pan.js +98 -48
- package/lib/handler/shim/drag_rotate.js +82 -43
- package/lib/handler/shim/touch_zoom_rotate.js +127 -59
- package/lib/handler/tap/single_tap_recognizer.js +113 -84
- package/lib/handler/tap/tap_drag_zoom.js +111 -93
- package/lib/handler/tap/tap_recognizer.js +72 -60
- package/lib/handler/tap/tap_zoom.js +113 -88
- package/lib/handler/touch/index.js +36 -38
- package/lib/handler/touch/touch_pan.js +126 -98
- package/lib/handler/touch/touch_pitch.js +108 -74
- package/lib/handler/touch/touch_rotate.js +93 -59
- package/lib/handler/touch/touch_zoom.js +71 -49
- package/lib/handler/touch/two_touch.js +129 -90
- package/lib/hash.js +149 -100
- package/lib/index.js +43 -20
- package/lib/interface.js +4 -16
- package/lib/map.js +420 -240
- package/lib/util.js +88 -69
- package/lib/utils/Aabb.js +134 -81
- package/lib/utils/dom.js +162 -88
- package/lib/utils/performance.js +46 -54
- package/lib/utils/primitives.js +53 -59
- package/lib/utils/task_queue.js +104 -61
- package/package.json +3 -3
|
@@ -1,455 +1,714 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
var
|
|
4
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var __getProtoOf = Object.getPrototypeOf;
|
|
6
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
-
var __export = (target, all) => {
|
|
8
|
-
for (var name in all)
|
|
9
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
10
|
-
};
|
|
11
|
-
var __copyProps = (to, from, except, desc) => {
|
|
12
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
13
|
-
for (let key of __getOwnPropNames(from))
|
|
14
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
15
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
16
|
-
}
|
|
17
|
-
return to;
|
|
18
|
-
};
|
|
19
|
-
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, mod));
|
|
20
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
21
4
|
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
__export(handler_manager_exports, {
|
|
25
|
-
default: () => handler_manager_default
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
26
7
|
});
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
var
|
|
30
|
-
|
|
31
|
-
var
|
|
32
|
-
|
|
33
|
-
var
|
|
34
|
-
|
|
35
|
-
var
|
|
36
|
-
|
|
37
|
-
var
|
|
38
|
-
|
|
39
|
-
var
|
|
40
|
-
|
|
41
|
-
var
|
|
42
|
-
|
|
43
|
-
var
|
|
44
|
-
|
|
45
|
-
var
|
|
46
|
-
|
|
47
|
-
var
|
|
48
|
-
|
|
49
|
-
var
|
|
8
|
+
exports.default = void 0;
|
|
9
|
+
|
|
10
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
11
|
+
|
|
12
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
13
|
+
|
|
14
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
15
|
+
|
|
16
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
17
|
+
|
|
18
|
+
var _l7Utils = require("@antv/l7-utils");
|
|
19
|
+
|
|
20
|
+
var _lodash = require("lodash");
|
|
21
|
+
|
|
22
|
+
var _point = _interopRequireDefault(require("../geo/point"));
|
|
23
|
+
|
|
24
|
+
var _dom = _interopRequireDefault(require("../utils/dom"));
|
|
25
|
+
|
|
26
|
+
var _blockable_map_event = _interopRequireDefault(require("./blockable_map_event"));
|
|
27
|
+
|
|
28
|
+
var _box_zoom = _interopRequireDefault(require("./box_zoom"));
|
|
29
|
+
|
|
30
|
+
var _click_zoom = _interopRequireDefault(require("./click_zoom"));
|
|
31
|
+
|
|
32
|
+
var _event = require("./events/event");
|
|
33
|
+
|
|
34
|
+
var _render_event = _interopRequireDefault(require("./events/render_event"));
|
|
35
|
+
|
|
36
|
+
var _handler_inertia = _interopRequireDefault(require("./handler_inertia"));
|
|
37
|
+
|
|
38
|
+
var _keyboard = _interopRequireDefault(require("./keyboard"));
|
|
39
|
+
|
|
40
|
+
var _map_event = _interopRequireDefault(require("./map_event"));
|
|
41
|
+
|
|
42
|
+
var _mouse = require("./mouse");
|
|
43
|
+
|
|
44
|
+
var _scroll_zoom = _interopRequireDefault(require("./scroll_zoom"));
|
|
45
|
+
|
|
46
|
+
var _dblclick_zoom = _interopRequireDefault(require("./shim/dblclick_zoom"));
|
|
47
|
+
|
|
48
|
+
var _drag_pan = _interopRequireDefault(require("./shim/drag_pan"));
|
|
49
|
+
|
|
50
|
+
var _drag_rotate = _interopRequireDefault(require("./shim/drag_rotate"));
|
|
51
|
+
|
|
52
|
+
var _touch_zoom_rotate = _interopRequireDefault(require("./shim/touch_zoom_rotate"));
|
|
53
|
+
|
|
54
|
+
var _tap_drag_zoom = _interopRequireDefault(require("./tap/tap_drag_zoom"));
|
|
55
|
+
|
|
56
|
+
var _tap_zoom = _interopRequireDefault(require("./tap/tap_zoom"));
|
|
57
|
+
|
|
58
|
+
var _touch = require("./touch");
|
|
59
|
+
|
|
60
|
+
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
|
+
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
|
+
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; }
|
|
65
|
+
|
|
66
|
+
var _isMoving = function isMoving(p) {
|
|
67
|
+
return p.zoom || p.drag || p.pitch || p.rotate;
|
|
68
|
+
};
|
|
69
|
+
|
|
50
70
|
function hasChange(result) {
|
|
51
71
|
return result.panDelta && result.panDelta.mag() || result.zoomDelta || result.bearingDelta || result.pitchDelta;
|
|
52
72
|
}
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
73
|
+
|
|
74
|
+
var HandlerManager = /*#__PURE__*/function () {
|
|
75
|
+
function HandlerManager(map, options) {
|
|
76
|
+
var _this = this;
|
|
77
|
+
|
|
78
|
+
(0, _classCallCheck2.default)(this, HandlerManager);
|
|
79
|
+
(0, _defineProperty2.default)(this, "handleWindowEvent", function (e) {
|
|
80
|
+
_this.handleEvent(e, "".concat(e.type, "Window"));
|
|
81
|
+
});
|
|
82
|
+
(0, _defineProperty2.default)(this, "handleEvent", function (e, eventName) {
|
|
83
|
+
if (e.type === 'blur') {
|
|
84
|
+
_this.stop();
|
|
85
|
+
|
|
61
86
|
return;
|
|
62
87
|
}
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
88
|
+
|
|
89
|
+
_this.updatingCamera = true;
|
|
90
|
+
var inputEvent = e.type === 'renderFrame' ? undefined : e;
|
|
91
|
+
/*
|
|
92
|
+
* We don't call e.preventDefault() for any events by default.
|
|
93
|
+
* Handlers are responsible for calling it where necessary.
|
|
94
|
+
*/
|
|
95
|
+
|
|
96
|
+
var mergedIHandlerResult = {
|
|
97
|
+
needsRenderFrame: false
|
|
98
|
+
};
|
|
99
|
+
var eventsInProgress = {};
|
|
100
|
+
var activeHandlers = {}; // @ts-ignore
|
|
101
|
+
|
|
102
|
+
var mapTouches = e.touches ? // @ts-ignore
|
|
103
|
+
_this.getMapTouches(e.touches) : undefined;
|
|
104
|
+
var points = mapTouches ? _dom.default.touchPos(_this.el, mapTouches) : _dom.default.mousePos(_this.el, e);
|
|
105
|
+
|
|
106
|
+
var _iterator = _createForOfIteratorHelper(_this.handlers),
|
|
107
|
+
_step;
|
|
108
|
+
|
|
109
|
+
try {
|
|
110
|
+
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
111
|
+
var _step$value = _step.value,
|
|
112
|
+
handlerName = _step$value.handlerName,
|
|
113
|
+
handler = _step$value.handler,
|
|
114
|
+
allowed = _step$value.allowed;
|
|
115
|
+
|
|
116
|
+
if (!handler.isEnabled()) {
|
|
117
|
+
continue;
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
var data = void 0;
|
|
121
|
+
|
|
122
|
+
if (_this.blockedByActive(activeHandlers, allowed, handlerName)) {
|
|
123
|
+
handler.reset();
|
|
124
|
+
} else {
|
|
125
|
+
var handerName = eventName || e.type; // @ts-ignore
|
|
126
|
+
|
|
127
|
+
if (handler && handler[handerName]) {
|
|
128
|
+
// @ts-ignore
|
|
129
|
+
data = handler[handerName](e, points, mapTouches);
|
|
130
|
+
|
|
131
|
+
_this.mergeIHandlerResult(mergedIHandlerResult, eventsInProgress, data, handlerName, inputEvent);
|
|
132
|
+
|
|
133
|
+
if (data && data.needsRenderFrame) {
|
|
134
|
+
_this.triggerRenderFrame();
|
|
135
|
+
}
|
|
84
136
|
}
|
|
137
|
+
} // @ts-ignore
|
|
138
|
+
|
|
139
|
+
|
|
140
|
+
if (data || handler.isActive()) {
|
|
141
|
+
activeHandlers[handlerName] = handler;
|
|
85
142
|
}
|
|
86
143
|
}
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
144
|
+
} catch (err) {
|
|
145
|
+
_iterator.e(err);
|
|
146
|
+
} finally {
|
|
147
|
+
_iterator.f();
|
|
90
148
|
}
|
|
91
|
-
|
|
92
|
-
|
|
149
|
+
|
|
150
|
+
var deactivatedHandlers = {};
|
|
151
|
+
|
|
152
|
+
for (var name in _this.previousActiveHandlers) {
|
|
93
153
|
if (!activeHandlers[name]) {
|
|
94
154
|
deactivatedHandlers[name] = inputEvent;
|
|
95
155
|
}
|
|
96
156
|
}
|
|
97
|
-
|
|
157
|
+
|
|
158
|
+
_this.previousActiveHandlers = activeHandlers;
|
|
159
|
+
|
|
98
160
|
if (Object.keys(deactivatedHandlers).length || hasChange(mergedIHandlerResult)) {
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
deactivatedHandlers
|
|
103
|
-
]);
|
|
104
|
-
this.triggerRenderFrame();
|
|
161
|
+
_this.changes.push([mergedIHandlerResult, eventsInProgress, deactivatedHandlers]);
|
|
162
|
+
|
|
163
|
+
_this.triggerRenderFrame();
|
|
105
164
|
}
|
|
165
|
+
|
|
106
166
|
if (Object.keys(activeHandlers).length || hasChange(mergedIHandlerResult)) {
|
|
107
|
-
|
|
167
|
+
_this.map.stop(true);
|
|
108
168
|
}
|
|
109
|
-
|
|
110
|
-
|
|
169
|
+
|
|
170
|
+
_this.updatingCamera = false;
|
|
171
|
+
var cameraAnimation = mergedIHandlerResult.cameraAnimation;
|
|
172
|
+
|
|
111
173
|
if (cameraAnimation) {
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
174
|
+
_this.inertia.clear();
|
|
175
|
+
|
|
176
|
+
_this.fireEvents({}, {});
|
|
177
|
+
|
|
178
|
+
_this.changes = [];
|
|
179
|
+
cameraAnimation(_this.map);
|
|
116
180
|
}
|
|
117
|
-
};
|
|
181
|
+
});
|
|
118
182
|
this.map = map;
|
|
119
183
|
this.el = this.map.getCanvasContainer();
|
|
120
184
|
this.handlers = [];
|
|
121
185
|
this.handlersById = {};
|
|
122
186
|
this.changes = [];
|
|
123
|
-
this.inertia = new
|
|
187
|
+
this.inertia = new _handler_inertia.default(map);
|
|
124
188
|
this.bearingSnap = options.bearingSnap;
|
|
125
189
|
this.rotateEnabled = options.rotateEnabled;
|
|
126
190
|
this.pitchEnabled = options.pitchEnabled;
|
|
127
|
-
this.previousActiveHandlers = {};
|
|
191
|
+
this.previousActiveHandlers = {}; // Track whether map is currently moving, to compute start/move/end events
|
|
192
|
+
|
|
128
193
|
this.eventsInProgress = {};
|
|
129
194
|
this.addDefaultHandlers(options);
|
|
130
|
-
|
|
195
|
+
var el = this.el;
|
|
131
196
|
this.listeners = [];
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
]
|
|
153
|
-
|
|
154
|
-
|
|
197
|
+
|
|
198
|
+
if (!_l7Utils.isMini) {
|
|
199
|
+
// l7 - mini
|
|
200
|
+
this.listeners = [// Bind touchstart and touchmove with passive: false because, even though
|
|
201
|
+
// they only fire a map events and therefore could theoretically be
|
|
202
|
+
// passive, binding with passive: true causes iOS not to respect
|
|
203
|
+
// e.preventDefault() in _other_ handlers, even if they are non-passive
|
|
204
|
+
// (see https://bugs.webkit.org/show_bug.cgi?id=184251)
|
|
205
|
+
[el, 'touchstart', {
|
|
206
|
+
passive: false
|
|
207
|
+
}], [el, 'touchmove', {
|
|
208
|
+
passive: false
|
|
209
|
+
}], [el, 'touchend', undefined], [el, 'touchcancel', undefined], [el, 'mousedown', undefined], [el, 'mousemove', undefined], [el, 'mouseup', undefined], // Bind window-level event listeners for move and up/end events. In the absence of
|
|
210
|
+
// the pointer capture API, which is not supported by all necessary platforms,
|
|
211
|
+
// window-level event listeners give us the best shot at capturing events that
|
|
212
|
+
// fall outside the map canvas element. Use `{capture: true}` for the move event
|
|
213
|
+
// to prevent map move events from being fired during a drag.
|
|
214
|
+
// @ts-ignore
|
|
215
|
+
[window.document, 'mousemove', {
|
|
216
|
+
capture: true
|
|
217
|
+
}], // @ts-ignore
|
|
218
|
+
[window.document, 'mouseup', undefined], [el, 'mouseover', undefined], [el, 'mouseout', undefined], [el, 'dblclick', undefined], [el, 'click', undefined], [el, 'keydown', {
|
|
219
|
+
capture: false
|
|
220
|
+
}], [el, 'keyup', undefined], [el, 'wheel', {
|
|
221
|
+
passive: false
|
|
222
|
+
}], [el, 'contextmenu', undefined], // @ts-ignore
|
|
223
|
+
[window, 'blur', undefined]];
|
|
224
|
+
|
|
225
|
+
var _iterator2 = _createForOfIteratorHelper(this.listeners),
|
|
226
|
+
_step2;
|
|
227
|
+
|
|
228
|
+
try {
|
|
229
|
+
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
230
|
+
var _step2$value = (0, _slicedToArray2.default)(_step2.value, 3),
|
|
231
|
+
target = _step2$value[0],
|
|
232
|
+
type = _step2$value[1],
|
|
233
|
+
listenerOptions = _step2$value[2];
|
|
234
|
+
|
|
235
|
+
// @ts-ignore
|
|
236
|
+
_dom.default.addEventListener(target, type, // @ts-ignore
|
|
237
|
+
target === window.document ? this.handleWindowEvent : this.handleEvent, listenerOptions);
|
|
238
|
+
}
|
|
239
|
+
} catch (err) {
|
|
240
|
+
_iterator2.e(err);
|
|
241
|
+
} finally {
|
|
242
|
+
_iterator2.f();
|
|
155
243
|
}
|
|
156
244
|
} else {
|
|
157
|
-
|
|
158
|
-
|
|
245
|
+
_l7Utils.$window.document.addEventListener('touchstart', function (e) {
|
|
246
|
+
_this.handleEvent(e);
|
|
159
247
|
}, {});
|
|
160
|
-
|
|
161
|
-
|
|
248
|
+
|
|
249
|
+
_l7Utils.$window.document.addEventListener('touchmove', function (e) {
|
|
250
|
+
_this.handleEvent(e);
|
|
162
251
|
}, {});
|
|
163
|
-
|
|
164
|
-
|
|
252
|
+
|
|
253
|
+
_l7Utils.$window.document.addEventListener('touchend', function (e) {
|
|
254
|
+
_this.handleEvent(e);
|
|
165
255
|
}, {});
|
|
166
|
-
|
|
167
|
-
|
|
256
|
+
|
|
257
|
+
_l7Utils.$window.document.addEventListener('touchcancel', function (e) {
|
|
258
|
+
_this.handleEvent(e);
|
|
168
259
|
}, {});
|
|
169
260
|
}
|
|
170
261
|
}
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
262
|
+
|
|
263
|
+
(0, _createClass2.default)(HandlerManager, [{
|
|
264
|
+
key: "destroy",
|
|
265
|
+
value: function destroy() {
|
|
266
|
+
var _iterator3 = _createForOfIteratorHelper(this.listeners),
|
|
267
|
+
_step3;
|
|
268
|
+
|
|
269
|
+
try {
|
|
270
|
+
for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
|
|
271
|
+
var _step3$value = (0, _slicedToArray2.default)(_step3.value, 3),
|
|
272
|
+
target = _step3$value[0],
|
|
273
|
+
type = _step3$value[1],
|
|
274
|
+
listenerOptions = _step3$value[2];
|
|
275
|
+
|
|
276
|
+
// @ts-ignore
|
|
277
|
+
_dom.default.removeEventListener(target, type, // @ts-ignore
|
|
278
|
+
target === window.document ? this.handleWindowEvent : this.handleEvent, listenerOptions);
|
|
279
|
+
}
|
|
280
|
+
} catch (err) {
|
|
281
|
+
_iterator3.e(err);
|
|
282
|
+
} finally {
|
|
283
|
+
_iterator3.f();
|
|
284
|
+
}
|
|
179
285
|
}
|
|
180
|
-
|
|
181
|
-
|
|
286
|
+
}, {
|
|
287
|
+
key: "stop",
|
|
288
|
+
value: function stop() {
|
|
289
|
+
// do nothing if this method was triggered by a gesture update
|
|
290
|
+
if (this.updatingCamera) {
|
|
291
|
+
return;
|
|
292
|
+
}
|
|
293
|
+
|
|
294
|
+
var _iterator4 = _createForOfIteratorHelper(this.handlers),
|
|
295
|
+
_step4;
|
|
296
|
+
|
|
297
|
+
try {
|
|
298
|
+
for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
|
|
299
|
+
var handler = _step4.value.handler;
|
|
300
|
+
handler.reset();
|
|
301
|
+
}
|
|
302
|
+
} catch (err) {
|
|
303
|
+
_iterator4.e(err);
|
|
304
|
+
} finally {
|
|
305
|
+
_iterator4.f();
|
|
306
|
+
}
|
|
307
|
+
|
|
308
|
+
this.inertia.clear();
|
|
309
|
+
this.fireEvents({}, {});
|
|
310
|
+
this.changes = [];
|
|
182
311
|
}
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
312
|
+
}, {
|
|
313
|
+
key: "isActive",
|
|
314
|
+
value: function isActive() {
|
|
315
|
+
var _iterator5 = _createForOfIteratorHelper(this.handlers),
|
|
316
|
+
_step5;
|
|
317
|
+
|
|
318
|
+
try {
|
|
319
|
+
for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {
|
|
320
|
+
var handler = _step5.value.handler;
|
|
321
|
+
|
|
322
|
+
if (handler.isActive()) {
|
|
323
|
+
return true;
|
|
324
|
+
}
|
|
325
|
+
}
|
|
326
|
+
} catch (err) {
|
|
327
|
+
_iterator5.e(err);
|
|
328
|
+
} finally {
|
|
329
|
+
_iterator5.f();
|
|
191
330
|
}
|
|
331
|
+
|
|
332
|
+
return false;
|
|
192
333
|
}
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
return Boolean(isMoving(this.eventsInProgress)) || this.isZooming();
|
|
203
|
-
}
|
|
204
|
-
mergeIHandlerResult(mergedIHandlerResult, eventsInProgress, HandlerResult, name, e) {
|
|
205
|
-
if (!HandlerResult) {
|
|
206
|
-
return;
|
|
334
|
+
}, {
|
|
335
|
+
key: "isZooming",
|
|
336
|
+
value: function isZooming() {
|
|
337
|
+
return !!this.eventsInProgress.zoom || this.map.scrollZoom.isZooming();
|
|
338
|
+
}
|
|
339
|
+
}, {
|
|
340
|
+
key: "isRotating",
|
|
341
|
+
value: function isRotating() {
|
|
342
|
+
return !!this.eventsInProgress.rotate;
|
|
207
343
|
}
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
};
|
|
213
|
-
if (HandlerResult.zoomDelta !== void 0) {
|
|
214
|
-
eventsInProgress.zoom = eventData;
|
|
344
|
+
}, {
|
|
345
|
+
key: "isMoving",
|
|
346
|
+
value: function isMoving() {
|
|
347
|
+
return Boolean(_isMoving(this.eventsInProgress)) || this.isZooming();
|
|
215
348
|
}
|
|
216
|
-
|
|
217
|
-
|
|
349
|
+
}, {
|
|
350
|
+
key: "mergeIHandlerResult",
|
|
351
|
+
value: function mergeIHandlerResult(mergedIHandlerResult, eventsInProgress, HandlerResult, name, e) {
|
|
352
|
+
if (!HandlerResult) {
|
|
353
|
+
return;
|
|
354
|
+
}
|
|
355
|
+
|
|
356
|
+
(0, _lodash.merge)(mergedIHandlerResult, HandlerResult);
|
|
357
|
+
var eventData = {
|
|
358
|
+
handlerName: name,
|
|
359
|
+
originalEvent: HandlerResult.originalEvent || e
|
|
360
|
+
}; // track which handler changed which camera property
|
|
361
|
+
|
|
362
|
+
if (HandlerResult.zoomDelta !== undefined) {
|
|
363
|
+
eventsInProgress.zoom = eventData;
|
|
364
|
+
}
|
|
365
|
+
|
|
366
|
+
if (HandlerResult.panDelta !== undefined) {
|
|
367
|
+
eventsInProgress.drag = eventData;
|
|
368
|
+
}
|
|
369
|
+
|
|
370
|
+
if (HandlerResult.pitchDelta !== undefined) {
|
|
371
|
+
eventsInProgress.pitch = eventData;
|
|
372
|
+
}
|
|
373
|
+
|
|
374
|
+
if (HandlerResult.bearingDelta !== undefined) {
|
|
375
|
+
eventsInProgress.rotate = eventData;
|
|
376
|
+
}
|
|
218
377
|
}
|
|
219
|
-
|
|
220
|
-
|
|
378
|
+
}, {
|
|
379
|
+
key: "triggerRenderFrame",
|
|
380
|
+
value: function triggerRenderFrame() {
|
|
381
|
+
var _this2 = this;
|
|
382
|
+
|
|
383
|
+
if (this.frameId === undefined) {
|
|
384
|
+
this.frameId = this.map.requestRenderFrame(function (timeStamp) {
|
|
385
|
+
// @ts-ignore
|
|
386
|
+
delete _this2.frameId;
|
|
387
|
+
|
|
388
|
+
_this2.handleEvent(new _render_event.default('renderFrame', {
|
|
389
|
+
timeStamp: timeStamp
|
|
390
|
+
}));
|
|
391
|
+
|
|
392
|
+
_this2.applyChanges();
|
|
393
|
+
});
|
|
394
|
+
}
|
|
221
395
|
}
|
|
222
|
-
|
|
223
|
-
|
|
396
|
+
}, {
|
|
397
|
+
key: "addDefaultHandlers",
|
|
398
|
+
value: function addDefaultHandlers(options) {
|
|
399
|
+
var map = this.map;
|
|
400
|
+
var el = map.getCanvasContainer();
|
|
401
|
+
this.add('mapEvent', new _map_event.default(map, options));
|
|
402
|
+
var boxZoom = map.boxZoom = new _box_zoom.default(map, options);
|
|
403
|
+
this.add('boxZoom', boxZoom);
|
|
404
|
+
var tapZoom = new _tap_zoom.default();
|
|
405
|
+
var clickZoom = new _click_zoom.default();
|
|
406
|
+
map.doubleClickZoom = new _dblclick_zoom.default(clickZoom, tapZoom);
|
|
407
|
+
this.add('tapZoom', tapZoom);
|
|
408
|
+
this.add('clickZoom', clickZoom);
|
|
409
|
+
var tapDragZoom = new _tap_drag_zoom.default();
|
|
410
|
+
this.add('tapDragZoom', tapDragZoom);
|
|
411
|
+
var touchPitch = map.touchPitch = new _touch.TouchPitchHandler();
|
|
412
|
+
this.add('touchPitch', touchPitch);
|
|
413
|
+
var mouseRotate = new _mouse.MouseRotateHandler(options);
|
|
414
|
+
var mousePitch = new _mouse.MousePitchHandler(options);
|
|
415
|
+
map.dragRotate = new _drag_rotate.default(options, mouseRotate, mousePitch);
|
|
416
|
+
this.add('mouseRotate', mouseRotate, ['mousePitch']);
|
|
417
|
+
this.add('mousePitch', mousePitch, ['mouseRotate']);
|
|
418
|
+
var mousePan = new _mouse.MousePanHandler(options);
|
|
419
|
+
var touchPan = new _touch.TouchPanHandler(options);
|
|
420
|
+
map.dragPan = new _drag_pan.default(el, mousePan, touchPan);
|
|
421
|
+
this.add('mousePan', mousePan);
|
|
422
|
+
this.add('touchPan', touchPan, ['touchZoom', 'touchRotate']);
|
|
423
|
+
var touchRotate = new _touch.TouchRotateHandler();
|
|
424
|
+
var touchZoom = new _touch.TouchZoomHandler();
|
|
425
|
+
map.touchZoomRotate = new _touch_zoom_rotate.default(el, touchZoom, touchRotate, tapDragZoom);
|
|
426
|
+
this.add('touchRotate', touchRotate, ['touchPan', 'touchZoom']);
|
|
427
|
+
this.add('touchZoom', touchZoom, ['touchPan', 'touchRotate']);
|
|
428
|
+
var scrollZoom = map.scrollZoom = new _scroll_zoom.default(map, this);
|
|
429
|
+
this.add('scrollZoom', scrollZoom, ['mousePan']);
|
|
430
|
+
var keyboard = map.keyboard = new _keyboard.default();
|
|
431
|
+
this.add('keyboard', keyboard);
|
|
432
|
+
this.add('blockableMapEvent', new _blockable_map_event.default(map));
|
|
433
|
+
|
|
434
|
+
for (var _i = 0, _arr = ['boxZoom', 'doubleClickZoom', 'tapDragZoom', 'touchPitch', 'dragRotate', 'dragPan', 'touchZoomRotate', 'scrollZoom', 'keyboard']; _i < _arr.length; _i++) {
|
|
435
|
+
var name = _arr[_i];
|
|
436
|
+
|
|
437
|
+
// @ts-ignore
|
|
438
|
+
if (options.interactive && options[name]) {
|
|
439
|
+
// @ts-ignore
|
|
440
|
+
map[name].enable(options[name]);
|
|
441
|
+
}
|
|
442
|
+
}
|
|
224
443
|
}
|
|
225
|
-
}
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
this.
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
444
|
+
}, {
|
|
445
|
+
key: "add",
|
|
446
|
+
value: function add(handlerName, handler, allowed) {
|
|
447
|
+
this.handlers.push({
|
|
448
|
+
handlerName: handlerName,
|
|
449
|
+
handler: handler,
|
|
450
|
+
allowed: allowed
|
|
232
451
|
});
|
|
452
|
+
this.handlersById[handlerName] = handler;
|
|
233
453
|
}
|
|
234
|
-
}
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
this.add("clickZoom", clickZoom);
|
|
246
|
-
const tapDragZoom = new import_tap_drag_zoom.default();
|
|
247
|
-
this.add("tapDragZoom", tapDragZoom);
|
|
248
|
-
const touchPitch = map.touchPitch = new import_touch.TouchPitchHandler();
|
|
249
|
-
this.add("touchPitch", touchPitch);
|
|
250
|
-
const mouseRotate = new import_mouse.MouseRotateHandler(options);
|
|
251
|
-
const mousePitch = new import_mouse.MousePitchHandler(options);
|
|
252
|
-
map.dragRotate = new import_drag_rotate.default(options, mouseRotate, mousePitch);
|
|
253
|
-
this.add("mouseRotate", mouseRotate, ["mousePitch"]);
|
|
254
|
-
this.add("mousePitch", mousePitch, ["mouseRotate"]);
|
|
255
|
-
const mousePan = new import_mouse.MousePanHandler(options);
|
|
256
|
-
const touchPan = new import_touch.TouchPanHandler(options);
|
|
257
|
-
map.dragPan = new import_drag_pan.default(el, mousePan, touchPan);
|
|
258
|
-
this.add("mousePan", mousePan);
|
|
259
|
-
this.add("touchPan", touchPan, ["touchZoom", "touchRotate"]);
|
|
260
|
-
const touchRotate = new import_touch.TouchRotateHandler();
|
|
261
|
-
const touchZoom = new import_touch.TouchZoomHandler();
|
|
262
|
-
map.touchZoomRotate = new import_touch_zoom_rotate.default(el, touchZoom, touchRotate, tapDragZoom);
|
|
263
|
-
this.add("touchRotate", touchRotate, ["touchPan", "touchZoom"]);
|
|
264
|
-
this.add("touchZoom", touchZoom, ["touchPan", "touchRotate"]);
|
|
265
|
-
const scrollZoom = map.scrollZoom = new import_scroll_zoom.default(map, this);
|
|
266
|
-
this.add("scrollZoom", scrollZoom, ["mousePan"]);
|
|
267
|
-
const keyboard = map.keyboard = new import_keyboard.default();
|
|
268
|
-
this.add("keyboard", keyboard);
|
|
269
|
-
this.add("blockableMapEvent", new import_blockable_map_event.default(map));
|
|
270
|
-
for (const name of [
|
|
271
|
-
"boxZoom",
|
|
272
|
-
"doubleClickZoom",
|
|
273
|
-
"tapDragZoom",
|
|
274
|
-
"touchPitch",
|
|
275
|
-
"dragRotate",
|
|
276
|
-
"dragPan",
|
|
277
|
-
"touchZoomRotate",
|
|
278
|
-
"scrollZoom",
|
|
279
|
-
"keyboard"
|
|
280
|
-
]) {
|
|
281
|
-
if (options.interactive && options[name]) {
|
|
282
|
-
map[name].enable(options[name]);
|
|
454
|
+
}, {
|
|
455
|
+
key: "blockedByActive",
|
|
456
|
+
value: function blockedByActive(activeHandlers, allowed, myName) {
|
|
457
|
+
for (var name in activeHandlers) {
|
|
458
|
+
if (name === myName) {
|
|
459
|
+
continue;
|
|
460
|
+
}
|
|
461
|
+
|
|
462
|
+
if (!allowed || allowed.indexOf(name) < 0) {
|
|
463
|
+
return true;
|
|
464
|
+
}
|
|
283
465
|
}
|
|
466
|
+
|
|
467
|
+
return false;
|
|
284
468
|
}
|
|
285
|
-
}
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
469
|
+
}, {
|
|
470
|
+
key: "getMapTouches",
|
|
471
|
+
value: function getMapTouches(touches) {
|
|
472
|
+
var mapTouches = [];
|
|
473
|
+
|
|
474
|
+
var _iterator6 = _createForOfIteratorHelper(touches),
|
|
475
|
+
_step6;
|
|
476
|
+
|
|
477
|
+
try {
|
|
478
|
+
for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) {
|
|
479
|
+
var t = _step6.value;
|
|
480
|
+
var target = t.target;
|
|
481
|
+
|
|
482
|
+
if (_l7Utils.isMini || this.el.contains(target)) {
|
|
483
|
+
mapTouches.push(t);
|
|
484
|
+
}
|
|
485
|
+
}
|
|
486
|
+
} catch (err) {
|
|
487
|
+
_iterator6.e(err);
|
|
488
|
+
} finally {
|
|
489
|
+
_iterator6.f();
|
|
297
490
|
}
|
|
491
|
+
|
|
492
|
+
return mapTouches;
|
|
298
493
|
}
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
494
|
+
}, {
|
|
495
|
+
key: "applyChanges",
|
|
496
|
+
value: function applyChanges() {
|
|
497
|
+
var combined = {};
|
|
498
|
+
var combinedEventsInProgress = {};
|
|
499
|
+
var combinedDeactivatedHandlers = {};
|
|
500
|
+
|
|
501
|
+
var _iterator7 = _createForOfIteratorHelper(this.changes),
|
|
502
|
+
_step7;
|
|
503
|
+
|
|
504
|
+
try {
|
|
505
|
+
for (_iterator7.s(); !(_step7 = _iterator7.n()).done;) {
|
|
506
|
+
var _step7$value = (0, _slicedToArray2.default)(_step7.value, 3),
|
|
507
|
+
change = _step7$value[0],
|
|
508
|
+
eventsInProgress = _step7$value[1],
|
|
509
|
+
deactivatedHandlers = _step7$value[2];
|
|
510
|
+
|
|
511
|
+
if (change.panDelta) {
|
|
512
|
+
combined.panDelta = (combined.panDelta || new _point.default(0, 0))._add(change.panDelta);
|
|
513
|
+
}
|
|
514
|
+
|
|
515
|
+
if (change.zoomDelta) {
|
|
516
|
+
combined.zoomDelta = (combined.zoomDelta || 0) + change.zoomDelta;
|
|
517
|
+
}
|
|
518
|
+
|
|
519
|
+
if (change.bearingDelta) {
|
|
520
|
+
combined.bearingDelta = (combined.bearingDelta || 0) + change.bearingDelta;
|
|
521
|
+
}
|
|
522
|
+
|
|
523
|
+
if (change.pitchDelta) {
|
|
524
|
+
combined.pitchDelta = (combined.pitchDelta || 0) + change.pitchDelta;
|
|
525
|
+
}
|
|
526
|
+
|
|
527
|
+
if (change.around !== undefined) {
|
|
528
|
+
combined.around = change.around;
|
|
529
|
+
}
|
|
530
|
+
|
|
531
|
+
if (change.pinchAround !== undefined) {
|
|
532
|
+
combined.pinchAround = change.pinchAround;
|
|
533
|
+
}
|
|
534
|
+
|
|
535
|
+
if (change.noInertia) {
|
|
536
|
+
combined.noInertia = change.noInertia;
|
|
537
|
+
}
|
|
538
|
+
|
|
539
|
+
(0, _lodash.merge)(combinedEventsInProgress, eventsInProgress);
|
|
540
|
+
(0, _lodash.merge)(combinedDeactivatedHandlers, deactivatedHandlers);
|
|
541
|
+
}
|
|
542
|
+
} catch (err) {
|
|
543
|
+
_iterator7.e(err);
|
|
544
|
+
} finally {
|
|
545
|
+
_iterator7.f();
|
|
307
546
|
}
|
|
547
|
+
|
|
548
|
+
this.updateMapTransform(combined, combinedEventsInProgress, combinedDeactivatedHandlers);
|
|
549
|
+
this.changes = [];
|
|
308
550
|
}
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
combined.panDelta = (combined.panDelta || new import_point.default(0, 0))._add(change.panDelta);
|
|
318
|
-
}
|
|
319
|
-
if (change.zoomDelta) {
|
|
320
|
-
combined.zoomDelta = (combined.zoomDelta || 0) + change.zoomDelta;
|
|
321
|
-
}
|
|
322
|
-
if (change.bearingDelta) {
|
|
323
|
-
combined.bearingDelta = (combined.bearingDelta || 0) + change.bearingDelta;
|
|
551
|
+
}, {
|
|
552
|
+
key: "updateMapTransform",
|
|
553
|
+
value: function updateMapTransform(combinedResult, combinedEventsInProgress, deactivatedHandlers) {
|
|
554
|
+
var map = this.map;
|
|
555
|
+
var tr = map.transform;
|
|
556
|
+
|
|
557
|
+
if (!hasChange(combinedResult)) {
|
|
558
|
+
return this.fireEvents(combinedEventsInProgress, deactivatedHandlers);
|
|
324
559
|
}
|
|
325
|
-
|
|
326
|
-
|
|
560
|
+
|
|
561
|
+
var panDelta = combinedResult.panDelta,
|
|
562
|
+
zoomDelta = combinedResult.zoomDelta,
|
|
563
|
+
bearingDelta = combinedResult.bearingDelta,
|
|
564
|
+
pitchDelta = combinedResult.pitchDelta,
|
|
565
|
+
pinchAround = combinedResult.pinchAround;
|
|
566
|
+
var around = combinedResult.around;
|
|
567
|
+
|
|
568
|
+
if (pinchAround !== undefined) {
|
|
569
|
+
around = pinchAround;
|
|
570
|
+
} // stop any ongoing camera animations (easeTo, flyTo)
|
|
571
|
+
|
|
572
|
+
|
|
573
|
+
map.stop(true);
|
|
574
|
+
around = around || map.transform.centerPoint;
|
|
575
|
+
var loc = tr.pointLocation(panDelta ? around.sub(panDelta) : around);
|
|
576
|
+
|
|
577
|
+
if (bearingDelta && this.rotateEnabled) {
|
|
578
|
+
tr.bearing += bearingDelta;
|
|
327
579
|
}
|
|
328
|
-
|
|
329
|
-
|
|
580
|
+
|
|
581
|
+
if (pitchDelta && this.pitchEnabled) {
|
|
582
|
+
tr.pitch += pitchDelta;
|
|
330
583
|
}
|
|
331
|
-
|
|
332
|
-
|
|
584
|
+
|
|
585
|
+
if (zoomDelta) {
|
|
586
|
+
tr.zoom += zoomDelta;
|
|
333
587
|
}
|
|
334
|
-
|
|
335
|
-
|
|
588
|
+
|
|
589
|
+
tr.setLocationAtPoint(loc, around);
|
|
590
|
+
this.map.update();
|
|
591
|
+
|
|
592
|
+
if (!combinedResult.noInertia) {
|
|
593
|
+
this.inertia.record(combinedResult);
|
|
336
594
|
}
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
}
|
|
340
|
-
this.updateMapTransform(combined, combinedEventsInProgress, combinedDeactivatedHandlers);
|
|
341
|
-
this.changes = [];
|
|
342
|
-
}
|
|
343
|
-
updateMapTransform(combinedResult, combinedEventsInProgress, deactivatedHandlers) {
|
|
344
|
-
const map = this.map;
|
|
345
|
-
const tr = map.transform;
|
|
346
|
-
if (!hasChange(combinedResult)) {
|
|
347
|
-
return this.fireEvents(combinedEventsInProgress, deactivatedHandlers);
|
|
348
|
-
}
|
|
349
|
-
const {
|
|
350
|
-
panDelta,
|
|
351
|
-
zoomDelta,
|
|
352
|
-
bearingDelta,
|
|
353
|
-
pitchDelta,
|
|
354
|
-
pinchAround
|
|
355
|
-
} = combinedResult;
|
|
356
|
-
let { around } = combinedResult;
|
|
357
|
-
if (pinchAround !== void 0) {
|
|
358
|
-
around = pinchAround;
|
|
359
|
-
}
|
|
360
|
-
map.stop(true);
|
|
361
|
-
around = around || map.transform.centerPoint;
|
|
362
|
-
const loc = tr.pointLocation(panDelta ? around.sub(panDelta) : around);
|
|
363
|
-
if (bearingDelta && this.rotateEnabled) {
|
|
364
|
-
tr.bearing += bearingDelta;
|
|
365
|
-
}
|
|
366
|
-
if (pitchDelta && this.pitchEnabled) {
|
|
367
|
-
tr.pitch += pitchDelta;
|
|
368
|
-
}
|
|
369
|
-
if (zoomDelta) {
|
|
370
|
-
tr.zoom += zoomDelta;
|
|
371
|
-
}
|
|
372
|
-
tr.setLocationAtPoint(loc, around);
|
|
373
|
-
this.map.update();
|
|
374
|
-
if (!combinedResult.noInertia) {
|
|
375
|
-
this.inertia.record(combinedResult);
|
|
595
|
+
|
|
596
|
+
this.fireEvents(combinedEventsInProgress, deactivatedHandlers);
|
|
376
597
|
}
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
598
|
+
}, {
|
|
599
|
+
key: "fireEvents",
|
|
600
|
+
value: function fireEvents(newEventsInProgress, deactivatedHandlers) {
|
|
601
|
+
var _this3 = this;
|
|
602
|
+
|
|
603
|
+
var wasMoving = _isMoving(this.eventsInProgress);
|
|
604
|
+
|
|
605
|
+
var nowMoving = _isMoving(newEventsInProgress);
|
|
606
|
+
|
|
607
|
+
var startEvents = {};
|
|
608
|
+
|
|
609
|
+
for (var eventName in newEventsInProgress) {
|
|
610
|
+
if (newEventsInProgress[eventName]) {
|
|
611
|
+
var originalEvent = newEventsInProgress[eventName].originalEvent;
|
|
612
|
+
|
|
613
|
+
if (!this.eventsInProgress[eventName]) {
|
|
614
|
+
startEvents["".concat(eventName, "start")] = originalEvent;
|
|
615
|
+
}
|
|
616
|
+
|
|
617
|
+
this.eventsInProgress[eventName] = newEventsInProgress[eventName];
|
|
388
618
|
}
|
|
389
|
-
|
|
619
|
+
} // fire start events only after this.eventsInProgress has been updated
|
|
620
|
+
|
|
621
|
+
|
|
622
|
+
if (!wasMoving && nowMoving) {
|
|
623
|
+
this.fireEvent('movestart', nowMoving.originalEvent);
|
|
390
624
|
}
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
if (startEvents[name]) {
|
|
397
|
-
this.fireEvent(name, startEvents[name]);
|
|
625
|
+
|
|
626
|
+
for (var name in startEvents) {
|
|
627
|
+
if (startEvents[name]) {
|
|
628
|
+
this.fireEvent(name, startEvents[name]);
|
|
629
|
+
}
|
|
398
630
|
}
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
}
|
|
403
|
-
if (nowMoving) {
|
|
404
|
-
this.fireEvent("move", nowMoving.originalEvent);
|
|
405
|
-
}
|
|
406
|
-
for (const eventName in newEventsInProgress) {
|
|
407
|
-
if (newEventsInProgress[eventName]) {
|
|
408
|
-
const { originalEvent } = newEventsInProgress[eventName];
|
|
409
|
-
this.fireEvent(eventName, originalEvent);
|
|
631
|
+
|
|
632
|
+
if (newEventsInProgress.rotate) {
|
|
633
|
+
this.bearingChanged = true;
|
|
410
634
|
}
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
if (
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
endEvents[`${eventName}end`] = originalEndEvent;
|
|
635
|
+
|
|
636
|
+
if (nowMoving) {
|
|
637
|
+
this.fireEvent('move', nowMoving.originalEvent);
|
|
638
|
+
}
|
|
639
|
+
|
|
640
|
+
for (var _eventName in newEventsInProgress) {
|
|
641
|
+
if (newEventsInProgress[_eventName]) {
|
|
642
|
+
var _originalEvent = newEventsInProgress[_eventName].originalEvent;
|
|
643
|
+
this.fireEvent(_eventName, _originalEvent);
|
|
421
644
|
}
|
|
422
645
|
}
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
646
|
+
|
|
647
|
+
var endEvents = {};
|
|
648
|
+
var originalEndEvent;
|
|
649
|
+
|
|
650
|
+
for (var _eventName2 in this.eventsInProgress) {
|
|
651
|
+
if (this.eventsInProgress[_eventName2]) {
|
|
652
|
+
var _this$eventsInProgres = this.eventsInProgress[_eventName2],
|
|
653
|
+
handlerName = _this$eventsInProgres.handlerName,
|
|
654
|
+
_originalEvent2 = _this$eventsInProgres.originalEvent;
|
|
655
|
+
|
|
656
|
+
if (!this.handlersById[handlerName].isActive()) {
|
|
657
|
+
delete this.eventsInProgress[_eventName2];
|
|
658
|
+
originalEndEvent = deactivatedHandlers[handlerName] || _originalEvent2;
|
|
659
|
+
endEvents["".concat(_eventName2, "end")] = originalEndEvent;
|
|
660
|
+
}
|
|
661
|
+
}
|
|
427
662
|
}
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
const inertialEase = this.inertia.onMoveEnd(this.map.dragPan.inertiaOptions);
|
|
433
|
-
const shouldSnapToNorth = (bearing) => bearing !== 0 && -this.bearingSnap < bearing && bearing < this.bearingSnap;
|
|
434
|
-
if (inertialEase) {
|
|
435
|
-
if (shouldSnapToNorth(inertialEase.bearing || this.map.getBearing())) {
|
|
436
|
-
inertialEase.bearing = 0;
|
|
663
|
+
|
|
664
|
+
for (var _name in endEvents) {
|
|
665
|
+
if (endEvents[_name]) {
|
|
666
|
+
this.fireEvent(_name, endEvents[_name]);
|
|
437
667
|
}
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
668
|
+
}
|
|
669
|
+
|
|
670
|
+
var stillMoving = _isMoving(this.eventsInProgress);
|
|
671
|
+
|
|
672
|
+
if ((wasMoving || nowMoving) && !stillMoving) {
|
|
673
|
+
this.updatingCamera = true;
|
|
674
|
+
var inertialEase = this.inertia.onMoveEnd(this.map.dragPan.inertiaOptions);
|
|
675
|
+
|
|
676
|
+
var shouldSnapToNorth = function shouldSnapToNorth(bearing) {
|
|
677
|
+
return bearing !== 0 && -_this3.bearingSnap < bearing && bearing < _this3.bearingSnap;
|
|
678
|
+
};
|
|
679
|
+
|
|
680
|
+
if (inertialEase) {
|
|
681
|
+
if (shouldSnapToNorth(inertialEase.bearing || this.map.getBearing())) {
|
|
682
|
+
inertialEase.bearing = 0;
|
|
683
|
+
}
|
|
684
|
+
|
|
685
|
+
this.map.easeTo(inertialEase, {
|
|
686
|
+
originalEvent: originalEndEvent
|
|
687
|
+
});
|
|
688
|
+
} else {
|
|
689
|
+
this.map.emit('moveend', new _event.Event('moveend', {
|
|
690
|
+
originalEvent: originalEndEvent
|
|
691
|
+
}));
|
|
692
|
+
|
|
693
|
+
if (shouldSnapToNorth(this.map.getBearing())) {
|
|
694
|
+
this.map.resetNorth();
|
|
695
|
+
}
|
|
443
696
|
}
|
|
697
|
+
|
|
698
|
+
this.bearingChanged = false;
|
|
699
|
+
this.updatingCamera = false;
|
|
444
700
|
}
|
|
445
|
-
this.bearingChanged = false;
|
|
446
|
-
this.updatingCamera = false;
|
|
447
701
|
}
|
|
448
|
-
}
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
702
|
+
}, {
|
|
703
|
+
key: "fireEvent",
|
|
704
|
+
value: function fireEvent(type, e) {
|
|
705
|
+
this.map.emit(type, new _event.Event(type, e ? {
|
|
706
|
+
originalEvent: e
|
|
707
|
+
} : {}));
|
|
708
|
+
}
|
|
709
|
+
}]);
|
|
710
|
+
return HandlerManager;
|
|
711
|
+
}();
|
|
712
|
+
|
|
713
|
+
var _default = HandlerManager;
|
|
714
|
+
exports.default = _default;
|