@antv/l7-map 2.17.3 → 2.17.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/camera.js +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 +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 +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 +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,18 +1,28 @@
|
|
|
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 _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
11
|
+
|
|
9
12
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
13
|
+
|
|
10
14
|
var _point = _interopRequireDefault(require("../geo/point"));
|
|
15
|
+
|
|
11
16
|
var _merge = _interopRequireDefault(require("lodash/merge"));
|
|
17
|
+
|
|
12
18
|
var _util = require("../util");
|
|
19
|
+
|
|
13
20
|
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; } } }; }
|
|
21
|
+
|
|
14
22
|
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); }
|
|
15
|
-
|
|
23
|
+
|
|
24
|
+
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; }
|
|
25
|
+
|
|
16
26
|
var defaultInertiaOptions = {
|
|
17
27
|
linearity: 0.3,
|
|
18
28
|
easing: (0, _util.bezier)(0, 0, 0.3, 1)
|
|
@@ -33,12 +43,14 @@ var defaultPitchInertiaOptions = (0, _merge.default)({
|
|
|
33
43
|
deceleration: 1000,
|
|
34
44
|
maxSpeed: 90
|
|
35
45
|
}, defaultInertiaOptions);
|
|
46
|
+
|
|
36
47
|
var HandlerInertia = /*#__PURE__*/function () {
|
|
37
48
|
function HandlerInertia(map) {
|
|
38
49
|
(0, _classCallCheck2.default)(this, HandlerInertia);
|
|
39
50
|
this.map = map;
|
|
40
51
|
this.clear();
|
|
41
52
|
}
|
|
53
|
+
|
|
42
54
|
(0, _createClass2.default)(HandlerInertia, [{
|
|
43
55
|
key: "clear",
|
|
44
56
|
value: function clear() {
|
|
@@ -68,9 +80,11 @@ var HandlerInertia = /*#__PURE__*/function () {
|
|
|
68
80
|
key: "onMoveEnd",
|
|
69
81
|
value: function onMoveEnd(panInertiaOptions) {
|
|
70
82
|
this.drainInertiaBuffer();
|
|
83
|
+
|
|
71
84
|
if (this.inertiaBuffer.length < 2) {
|
|
72
85
|
return;
|
|
73
86
|
}
|
|
87
|
+
|
|
74
88
|
var deltas = {
|
|
75
89
|
zoom: 0,
|
|
76
90
|
bearing: 0,
|
|
@@ -79,20 +93,25 @@ var HandlerInertia = /*#__PURE__*/function () {
|
|
|
79
93
|
pinchAround: undefined,
|
|
80
94
|
around: undefined
|
|
81
95
|
};
|
|
96
|
+
|
|
82
97
|
var _iterator = _createForOfIteratorHelper(this.inertiaBuffer),
|
|
83
|
-
|
|
98
|
+
_step;
|
|
99
|
+
|
|
84
100
|
try {
|
|
85
101
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
86
102
|
var settings = _step.value.settings;
|
|
87
103
|
deltas.zoom += settings.zoomDelta || 0;
|
|
88
104
|
deltas.bearing += settings.bearingDelta || 0;
|
|
89
105
|
deltas.pitch += settings.pitchDelta || 0;
|
|
106
|
+
|
|
90
107
|
if (settings.panDelta) {
|
|
91
108
|
deltas.pan._add(settings.panDelta);
|
|
92
109
|
}
|
|
110
|
+
|
|
93
111
|
if (settings.around) {
|
|
94
112
|
deltas.around = settings.around;
|
|
95
113
|
}
|
|
114
|
+
|
|
96
115
|
if (settings.pinchAround) {
|
|
97
116
|
deltas.pinchAround = settings.pinchAround;
|
|
98
117
|
}
|
|
@@ -102,34 +121,44 @@ var HandlerInertia = /*#__PURE__*/function () {
|
|
|
102
121
|
} finally {
|
|
103
122
|
_iterator.f();
|
|
104
123
|
}
|
|
124
|
+
|
|
105
125
|
var lastEntry = this.inertiaBuffer[this.inertiaBuffer.length - 1];
|
|
106
126
|
var duration = lastEntry.time - this.inertiaBuffer[0].time;
|
|
107
127
|
var easeOptions = {};
|
|
128
|
+
|
|
108
129
|
if (deltas.pan.mag()) {
|
|
109
130
|
var result = calculateEasing(deltas.pan.mag(), duration, (0, _merge.default)({}, defaultPanInertiaOptions, panInertiaOptions || {}));
|
|
110
131
|
easeOptions.offset = deltas.pan.mult(result.amount / deltas.pan.mag());
|
|
111
132
|
easeOptions.center = this.map.transform.center;
|
|
112
133
|
extendDuration(easeOptions, result);
|
|
113
134
|
}
|
|
135
|
+
|
|
114
136
|
if (deltas.zoom) {
|
|
115
137
|
var _result = calculateEasing(deltas.zoom, duration, defaultZoomInertiaOptions);
|
|
138
|
+
|
|
116
139
|
easeOptions.zoom = this.map.transform.zoom + _result.amount;
|
|
117
140
|
extendDuration(easeOptions, _result);
|
|
118
141
|
}
|
|
142
|
+
|
|
119
143
|
if (deltas.bearing) {
|
|
120
144
|
var _result2 = calculateEasing(deltas.bearing, duration, defaultBearingInertiaOptions);
|
|
145
|
+
|
|
121
146
|
easeOptions.bearing = this.map.transform.bearing + (0, _util.clamp)(_result2.amount, -179, 179);
|
|
122
147
|
extendDuration(easeOptions, _result2);
|
|
123
148
|
}
|
|
149
|
+
|
|
124
150
|
if (deltas.pitch) {
|
|
125
151
|
var _result3 = calculateEasing(deltas.pitch, duration, defaultPitchInertiaOptions);
|
|
152
|
+
|
|
126
153
|
easeOptions.pitch = this.map.transform.pitch + _result3.amount;
|
|
127
154
|
extendDuration(easeOptions, _result3);
|
|
128
155
|
}
|
|
156
|
+
|
|
129
157
|
if (easeOptions.zoom || easeOptions.bearing) {
|
|
130
158
|
var last = deltas.pinchAround === undefined ? deltas.around : deltas.pinchAround;
|
|
131
159
|
easeOptions.around = last ? this.map.unproject(last) : this.map.getCenter();
|
|
132
160
|
}
|
|
161
|
+
|
|
133
162
|
this.clear();
|
|
134
163
|
return (0, _merge.default)(easeOptions, {
|
|
135
164
|
noMoveStart: true
|
|
@@ -139,17 +168,21 @@ var HandlerInertia = /*#__PURE__*/function () {
|
|
|
139
168
|
return HandlerInertia;
|
|
140
169
|
}(); // Unfortunately zoom, bearing, etc can't have different durations and easings so
|
|
141
170
|
// we need to choose one. We use the longest duration and it's corresponding easing.
|
|
171
|
+
|
|
172
|
+
|
|
142
173
|
exports.default = HandlerInertia;
|
|
174
|
+
|
|
143
175
|
function extendDuration(easeOptions, result) {
|
|
144
176
|
if (!easeOptions.duration || easeOptions.duration < result.duration) {
|
|
145
177
|
easeOptions.duration = result.duration;
|
|
146
178
|
easeOptions.easing = result.easing;
|
|
147
179
|
}
|
|
148
180
|
}
|
|
181
|
+
|
|
149
182
|
function calculateEasing(amount, inertiaDuration, inertiaOptions) {
|
|
150
183
|
var maxSpeed = inertiaOptions.maxSpeed,
|
|
151
|
-
|
|
152
|
-
|
|
184
|
+
linearity = inertiaOptions.linearity,
|
|
185
|
+
deceleration = inertiaOptions.deceleration;
|
|
153
186
|
var speed = (0, _util.clamp)(amount * linearity / (inertiaDuration / 1000), -maxSpeed, maxSpeed);
|
|
154
187
|
var duration = Math.abs(speed) / (deceleration * linearity);
|
|
155
188
|
return {
|