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