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