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