@antv/l7-map 2.5.25 → 2.5.26
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/earthmap.d.ts +67 -0
- package/es/earthmap.js +454 -0
- package/es/earthmap.js.map +1 -0
- package/es/handler/IHandler.d.ts +2 -1
- package/es/handler/blockable_map_event.d.ts +2 -1
- package/es/handler/blockable_map_event.js.map +1 -1
- package/es/handler/box_zoom.d.ts +2 -1
- package/es/handler/box_zoom.js.map +1 -1
- package/es/handler/click_zoom.d.ts +2 -1
- package/es/handler/click_zoom.js.map +1 -1
- package/es/handler/events/map_mouse_event.d.ts +3 -2
- package/es/handler/events/map_mouse_event.js.map +1 -1
- package/es/handler/events/map_touch_event.d.ts +3 -2
- package/es/handler/events/map_touch_event.js.map +1 -1
- package/es/handler/events/map_wheel_event.d.ts +4 -3
- package/es/handler/events/map_wheel_event.js.map +1 -1
- package/es/handler/handler_inertia.d.ts +2 -1
- package/es/handler/handler_inertia.js.map +1 -1
- package/es/handler/handler_manager.d.ts +2 -1
- package/es/handler/handler_manager.js.map +1 -1
- package/es/handler/keyboard.d.ts +2 -1
- package/es/handler/keyboard.js.map +1 -1
- package/es/handler/map_event.d.ts +2 -1
- package/es/handler/map_event.js.map +1 -1
- package/es/handler/scroll_zoom.d.ts +2 -1
- package/es/handler/scroll_zoom.js.map +1 -1
- package/es/handler/tap/tap_zoom.d.ts +2 -1
- package/es/handler/tap/tap_zoom.js.map +1 -1
- package/es/hash.d.ts +2 -1
- package/es/hash.js.map +1 -1
- package/es/index.d.ts +1 -0
- package/es/index.js +1 -0
- package/es/index.js.map +1 -1
- package/lib/earthmap.js +465 -0
- package/lib/earthmap.js.map +1 -0
- package/lib/handler/blockable_map_event.js.map +1 -1
- package/lib/handler/box_zoom.js.map +1 -1
- package/lib/handler/click_zoom.js.map +1 -1
- package/lib/handler/events/map_mouse_event.js.map +1 -1
- package/lib/handler/events/map_touch_event.js.map +1 -1
- package/lib/handler/events/map_wheel_event.js.map +1 -1
- package/lib/handler/handler_inertia.js.map +1 -1
- package/lib/handler/handler_manager.js.map +1 -1
- package/lib/handler/keyboard.js.map +1 -1
- package/lib/handler/map_event.js.map +1 -1
- package/lib/handler/scroll_zoom.js.map +1 -1
- package/lib/handler/tap/tap_zoom.js.map +1 -1
- package/lib/hash.js.map +1 -1
- package/lib/index.js +13 -0
- package/lib/index.js.map +1 -1
- package/package.json +3 -3
package/lib/earthmap.js
ADDED
|
@@ -0,0 +1,465 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.EarthMap = void 0;
|
|
9
|
+
|
|
10
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
11
|
+
|
|
12
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
13
|
+
|
|
14
|
+
var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
|
|
15
|
+
|
|
16
|
+
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
17
|
+
|
|
18
|
+
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
19
|
+
|
|
20
|
+
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
21
|
+
|
|
22
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
23
|
+
|
|
24
|
+
var _merge2 = _interopRequireDefault(require("lodash/merge"));
|
|
25
|
+
|
|
26
|
+
var _l7Utils = require("@antv/l7-utils");
|
|
27
|
+
|
|
28
|
+
var _camera = _interopRequireDefault(require("./camera"));
|
|
29
|
+
|
|
30
|
+
var _lng_lat = _interopRequireDefault(require("./geo/lng_lat"));
|
|
31
|
+
|
|
32
|
+
var _lng_lat_bounds = _interopRequireDefault(require("./geo/lng_lat_bounds"));
|
|
33
|
+
|
|
34
|
+
var _point = _interopRequireDefault(require("./geo/point"));
|
|
35
|
+
|
|
36
|
+
var _handler_manager = _interopRequireDefault(require("./handler/handler_manager"));
|
|
37
|
+
|
|
38
|
+
var _hash = _interopRequireDefault(require("./hash"));
|
|
39
|
+
|
|
40
|
+
var _util = require("./util");
|
|
41
|
+
|
|
42
|
+
var _performance = require("./utils/performance");
|
|
43
|
+
|
|
44
|
+
var _task_queue = _interopRequireDefault(require("./utils/task_queue"));
|
|
45
|
+
|
|
46
|
+
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
|
|
47
|
+
|
|
48
|
+
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
49
|
+
|
|
50
|
+
function loadStyles(css, doc) {
|
|
51
|
+
if (!doc) doc = document;
|
|
52
|
+
|
|
53
|
+
if (!doc) {
|
|
54
|
+
return;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
var head = doc.head || doc.getElementsByTagName('head')[0];
|
|
58
|
+
|
|
59
|
+
if (!head) {
|
|
60
|
+
head = doc.createElement('head');
|
|
61
|
+
var body = doc.body || doc.getElementsByTagName('body')[0];
|
|
62
|
+
|
|
63
|
+
if (body) {
|
|
64
|
+
body.parentNode.insertBefore(head, body);
|
|
65
|
+
} else {
|
|
66
|
+
doc.documentElement.appendChild(head);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
var style = doc.createElement('style');
|
|
71
|
+
style.type = 'text/css';
|
|
72
|
+
|
|
73
|
+
if (style.styleSheet) {
|
|
74
|
+
style.styleSheet.cssText = css;
|
|
75
|
+
} else {
|
|
76
|
+
style.appendChild(doc.createTextNode(css));
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
head.appendChild(style);
|
|
80
|
+
return style;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
loadStyles(".l7-map {\n font: 12px/20px 'Helvetica Neue', Arial, Helvetica, sans-serif;\n overflow: hidden;\n position: relative;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n\n.l7-canvas {\n position: absolute;\n left: 0;\n top: 0;\n}\n\n.l7-map:-webkit-full-screen {\n width: 100%;\n height: 100%;\n}\n\n.l7-canary {\n background-color: salmon;\n}\n\n.l7-canvas-container.l7-interactive,\n.l7-ctrl-group button.l7-ctrl-compass {\n cursor: -webkit-grab;\n cursor: grab;\n -moz-user-select: none;\n -webkit-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n\n.l7-canvas-container.l7-interactive.l7-track-pointer {\n cursor: pointer;\n}\n\n.l7-canvas-container.l7-interactive:active,\n.l7-ctrl-group button.l7-ctrl-compass:active {\n cursor: -webkit-grabbing;\n cursor: grabbing;\n}\n\n.l7-canvas-container.l7-touch-zoom-rotate,\n.l7-canvas-container.l7-touch-zoom-rotate .l7-canvas {\n -ms-touch-action: pan-x pan-y;\n touch-action: pan-x pan-y;\n}\n\n.l7-canvas-container.l7-touch-drag-pan,\n.l7-canvas-container.l7-touch-drag-pan .l7-canvas {\n -ms-touch-action: pinch-zoom;\n touch-action: pinch-zoom;\n}\n\n.l7-canvas-container.l7-touch-zoom-rotate.l7-touch-drag-pan,\n.l7-canvas-container.l7-touch-zoom-rotate.l7-touch-drag-pan .l7-canvas {\n -ms-touch-action: none;\n touch-action: none;\n}\n\n.l7-ctrl-top-left,\n.l7-ctrl-top-right,\n.l7-ctrl-bottom-left,\n.l7-ctrl-bottom-right { position: absolute; pointer-events: none; z-index: 2; }\n.l7-ctrl-top-left { top: 0; left: 0; }\n.l7-ctrl-top-right { top: 0; right: 0; }\n.l7-ctrl-bottom-left { bottom: 0; left: 0; }\n.l7-ctrl-bottom-right { right: 0; bottom: 0; }\n\n.l7-ctrl {\n clear: both;\n pointer-events: auto;\n\n /* workaround for a Safari bug https://github.com/mapbox/mapbox-gl-js/issues/8185 */\n -webkit-transform: translate(0, 0);\n transform: translate(0, 0);\n}\n.l7-ctrl-top-left .l7-ctrl { margin: 10px 0 0 10px; float: left; }\n.l7-ctrl-top-right .l7-ctrl { margin: 10px 10px 0 0; float: right; }\n.l7-ctrl-bottom-left .l7-ctrl { margin: 0 0 10px 10px; float: left; }\n.l7-ctrl-bottom-right .l7-ctrl { margin: 0 10px 10px 0; float: right; }\n\n\n.l7-crosshair,\n.l7-crosshair .l7-interactive,\n.l7-crosshair .l7-interactive:active {\n cursor: crosshair;\n}\n\n.l7-boxzoom {\n position: absolute;\n top: 0;\n left: 0;\n width: 0;\n height: 0;\n background: #fff;\n border: 2px dotted #202020;\n opacity: 0.5;\n z-index: 10;\n}\n");
|
|
84
|
+
var defaultMinZoom = -2;
|
|
85
|
+
var defaultMaxZoom = 22;
|
|
86
|
+
var defaultMinPitch = 0;
|
|
87
|
+
var defaultMaxPitch = 60;
|
|
88
|
+
var DefaultOptions = {
|
|
89
|
+
hash: false,
|
|
90
|
+
zoom: -1,
|
|
91
|
+
center: [112, 32],
|
|
92
|
+
pitch: 0,
|
|
93
|
+
bearing: 0,
|
|
94
|
+
interactive: true,
|
|
95
|
+
minZoom: defaultMinZoom,
|
|
96
|
+
maxZoom: defaultMaxZoom,
|
|
97
|
+
minPitch: defaultMinPitch,
|
|
98
|
+
maxPitch: defaultMaxPitch,
|
|
99
|
+
scrollZoom: true,
|
|
100
|
+
boxZoom: true,
|
|
101
|
+
dragRotate: true,
|
|
102
|
+
dragPan: true,
|
|
103
|
+
keyboard: true,
|
|
104
|
+
doubleClickZoom: true,
|
|
105
|
+
touchZoomRotate: true,
|
|
106
|
+
touchPitch: true,
|
|
107
|
+
bearingSnap: 7,
|
|
108
|
+
clickTolerance: 3,
|
|
109
|
+
pitchWithRotate: true,
|
|
110
|
+
trackResize: true,
|
|
111
|
+
renderWorldCopies: true
|
|
112
|
+
};
|
|
113
|
+
|
|
114
|
+
var EarthMap = function (_Camera) {
|
|
115
|
+
(0, _inherits2.default)(EarthMap, _Camera);
|
|
116
|
+
|
|
117
|
+
var _super = _createSuper(EarthMap);
|
|
118
|
+
|
|
119
|
+
function EarthMap(options) {
|
|
120
|
+
var _this;
|
|
121
|
+
|
|
122
|
+
(0, _classCallCheck2.default)(this, EarthMap);
|
|
123
|
+
_this = _super.call(this, (0, _merge2.default)({}, DefaultOptions, options));
|
|
124
|
+
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "doubleClickZoom", void 0);
|
|
125
|
+
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "dragRotate", void 0);
|
|
126
|
+
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "dragPan", void 0);
|
|
127
|
+
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "touchZoomRotate", void 0);
|
|
128
|
+
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "scrollZoom", void 0);
|
|
129
|
+
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "keyboard", void 0);
|
|
130
|
+
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "touchPitch", void 0);
|
|
131
|
+
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "boxZoom", void 0);
|
|
132
|
+
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "handlers", void 0);
|
|
133
|
+
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "container", void 0);
|
|
134
|
+
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "canvas", void 0);
|
|
135
|
+
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "canvasContainer", void 0);
|
|
136
|
+
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "renderTaskQueue", new _task_queue.default());
|
|
137
|
+
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "frame", void 0);
|
|
138
|
+
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "trackResize", true);
|
|
139
|
+
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "hash", void 0);
|
|
140
|
+
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "onWindowOnline", function () {
|
|
141
|
+
_this.update();
|
|
142
|
+
});
|
|
143
|
+
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "onWindowResize", function (event) {
|
|
144
|
+
if (_this.trackResize) {
|
|
145
|
+
_this.resize({
|
|
146
|
+
originalEvent: event
|
|
147
|
+
}).update();
|
|
148
|
+
}
|
|
149
|
+
});
|
|
150
|
+
|
|
151
|
+
_this.initContainer();
|
|
152
|
+
|
|
153
|
+
_this.resize();
|
|
154
|
+
|
|
155
|
+
_this.handlers = new _handler_manager.default((0, _assertThisInitialized2.default)(_this), _this.options);
|
|
156
|
+
|
|
157
|
+
if (typeof window !== 'undefined') {
|
|
158
|
+
window.addEventListener('online', _this.onWindowOnline, false);
|
|
159
|
+
window.addEventListener('resize', _this.onWindowResize, false);
|
|
160
|
+
window.addEventListener('orientationchange', _this.onWindowResize, false);
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
var hashName = typeof options.hash === 'string' && options.hash || undefined;
|
|
164
|
+
|
|
165
|
+
if (options.hash) {
|
|
166
|
+
_this.hash = new _hash.default(hashName).addTo((0, _assertThisInitialized2.default)(_this));
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
if (!_this.hash || !_this.hash.onHashChange()) {
|
|
170
|
+
_this.jumpTo({
|
|
171
|
+
center: options.center,
|
|
172
|
+
zoom: options.zoom,
|
|
173
|
+
bearing: options.bearing,
|
|
174
|
+
pitch: options.pitch
|
|
175
|
+
});
|
|
176
|
+
|
|
177
|
+
if (options.bounds) {
|
|
178
|
+
_this.resize();
|
|
179
|
+
|
|
180
|
+
_this.fitBounds(options.bounds, (0, _merge2.default)({}, options.fitBoundsOptions, {
|
|
181
|
+
duration: 0
|
|
182
|
+
}));
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
return _this;
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
(0, _createClass2.default)(EarthMap, [{
|
|
190
|
+
key: "resize",
|
|
191
|
+
value: function resize(eventData) {
|
|
192
|
+
var dimensions = this.containerDimensions();
|
|
193
|
+
var width = dimensions[0];
|
|
194
|
+
var height = dimensions[1];
|
|
195
|
+
this.transform.resize(width, height);
|
|
196
|
+
var fireMoving = !this.moving;
|
|
197
|
+
|
|
198
|
+
if (fireMoving) {
|
|
199
|
+
this.stop();
|
|
200
|
+
this.emit('movestart', new Event('movestart', eventData));
|
|
201
|
+
this.emit('move', new Event('move', eventData));
|
|
202
|
+
}
|
|
203
|
+
|
|
204
|
+
this.emit('resize', new Event('resize', eventData));
|
|
205
|
+
|
|
206
|
+
if (fireMoving) {
|
|
207
|
+
this.emit('moveend', new Event('moveend', eventData));
|
|
208
|
+
}
|
|
209
|
+
|
|
210
|
+
return this;
|
|
211
|
+
}
|
|
212
|
+
}, {
|
|
213
|
+
key: "getContainer",
|
|
214
|
+
value: function getContainer() {
|
|
215
|
+
return this.container;
|
|
216
|
+
}
|
|
217
|
+
}, {
|
|
218
|
+
key: "getCanvas",
|
|
219
|
+
value: function getCanvas() {
|
|
220
|
+
return this.canvas;
|
|
221
|
+
}
|
|
222
|
+
}, {
|
|
223
|
+
key: "getCanvasContainer",
|
|
224
|
+
value: function getCanvasContainer() {
|
|
225
|
+
return this.canvasContainer;
|
|
226
|
+
}
|
|
227
|
+
}, {
|
|
228
|
+
key: "project",
|
|
229
|
+
value: function project(lngLat) {
|
|
230
|
+
return this.transform.locationPoint(_lng_lat.default.convert(lngLat));
|
|
231
|
+
}
|
|
232
|
+
}, {
|
|
233
|
+
key: "unproject",
|
|
234
|
+
value: function unproject(point) {
|
|
235
|
+
return this.transform.pointLocation(_point.default.convert(point));
|
|
236
|
+
}
|
|
237
|
+
}, {
|
|
238
|
+
key: "getBounds",
|
|
239
|
+
value: function getBounds() {
|
|
240
|
+
return this.transform.getBounds();
|
|
241
|
+
}
|
|
242
|
+
}, {
|
|
243
|
+
key: "getMaxBounds",
|
|
244
|
+
value: function getMaxBounds() {
|
|
245
|
+
return this.transform.getMaxBounds();
|
|
246
|
+
}
|
|
247
|
+
}, {
|
|
248
|
+
key: "setMaxBounds",
|
|
249
|
+
value: function setMaxBounds(bounds) {
|
|
250
|
+
this.transform.setMaxBounds(_lng_lat_bounds.default.convert(bounds));
|
|
251
|
+
}
|
|
252
|
+
}, {
|
|
253
|
+
key: "setStyle",
|
|
254
|
+
value: function setStyle(style) {
|
|
255
|
+
return;
|
|
256
|
+
}
|
|
257
|
+
}, {
|
|
258
|
+
key: "setMinZoom",
|
|
259
|
+
value: function setMinZoom(minZoom) {
|
|
260
|
+
minZoom = minZoom === null || minZoom === undefined ? defaultMinZoom : minZoom;
|
|
261
|
+
|
|
262
|
+
if (minZoom >= defaultMinZoom && minZoom <= this.transform.maxZoom) {
|
|
263
|
+
this.transform.minZoom = minZoom;
|
|
264
|
+
|
|
265
|
+
if (this.getZoom() < minZoom) {
|
|
266
|
+
this.setZoom(minZoom);
|
|
267
|
+
}
|
|
268
|
+
|
|
269
|
+
return this;
|
|
270
|
+
} else {
|
|
271
|
+
throw new Error("minZoom must be between ".concat(defaultMinZoom, " and the current maxZoom, inclusive"));
|
|
272
|
+
}
|
|
273
|
+
}
|
|
274
|
+
}, {
|
|
275
|
+
key: "getMinZoom",
|
|
276
|
+
value: function getMinZoom() {
|
|
277
|
+
return this.transform.minZoom;
|
|
278
|
+
}
|
|
279
|
+
}, {
|
|
280
|
+
key: "setMaxZoom",
|
|
281
|
+
value: function setMaxZoom(maxZoom) {
|
|
282
|
+
maxZoom = maxZoom === null || maxZoom === undefined ? defaultMaxZoom : maxZoom;
|
|
283
|
+
|
|
284
|
+
if (maxZoom >= this.transform.minZoom) {
|
|
285
|
+
this.transform.maxZoom = maxZoom;
|
|
286
|
+
|
|
287
|
+
if (this.getZoom() > maxZoom) {
|
|
288
|
+
this.setZoom(maxZoom);
|
|
289
|
+
}
|
|
290
|
+
|
|
291
|
+
return this;
|
|
292
|
+
} else {
|
|
293
|
+
throw new Error('maxZoom must be greater than the current minZoom');
|
|
294
|
+
}
|
|
295
|
+
}
|
|
296
|
+
}, {
|
|
297
|
+
key: "getMaxZoom",
|
|
298
|
+
value: function getMaxZoom() {
|
|
299
|
+
return this.transform.maxZoom;
|
|
300
|
+
}
|
|
301
|
+
}, {
|
|
302
|
+
key: "setMinPitch",
|
|
303
|
+
value: function setMinPitch(minPitch) {
|
|
304
|
+
minPitch = minPitch === null || minPitch === undefined ? defaultMinPitch : minPitch;
|
|
305
|
+
|
|
306
|
+
if (minPitch < defaultMinPitch) {
|
|
307
|
+
throw new Error("minPitch must be greater than or equal to ".concat(defaultMinPitch));
|
|
308
|
+
}
|
|
309
|
+
|
|
310
|
+
if (minPitch >= defaultMinPitch && minPitch <= this.transform.maxPitch) {
|
|
311
|
+
this.transform.minPitch = minPitch;
|
|
312
|
+
|
|
313
|
+
if (this.getPitch() < minPitch) {
|
|
314
|
+
this.setPitch(minPitch);
|
|
315
|
+
}
|
|
316
|
+
|
|
317
|
+
return this;
|
|
318
|
+
} else {
|
|
319
|
+
throw new Error("minPitch must be between ".concat(defaultMinPitch, " and the current maxPitch, inclusive"));
|
|
320
|
+
}
|
|
321
|
+
}
|
|
322
|
+
}, {
|
|
323
|
+
key: "getMinPitch",
|
|
324
|
+
value: function getMinPitch() {
|
|
325
|
+
return this.transform.minPitch;
|
|
326
|
+
}
|
|
327
|
+
}, {
|
|
328
|
+
key: "setMaxPitch",
|
|
329
|
+
value: function setMaxPitch(maxPitch) {
|
|
330
|
+
maxPitch = maxPitch === null || maxPitch === undefined ? defaultMaxPitch : maxPitch;
|
|
331
|
+
|
|
332
|
+
if (maxPitch > defaultMaxPitch) {
|
|
333
|
+
throw new Error("maxPitch must be less than or equal to ".concat(defaultMaxPitch));
|
|
334
|
+
}
|
|
335
|
+
|
|
336
|
+
if (maxPitch >= this.transform.minPitch) {
|
|
337
|
+
this.transform.maxPitch = maxPitch;
|
|
338
|
+
|
|
339
|
+
if (this.getPitch() > maxPitch) {
|
|
340
|
+
this.setPitch(maxPitch);
|
|
341
|
+
}
|
|
342
|
+
|
|
343
|
+
return this;
|
|
344
|
+
} else {
|
|
345
|
+
throw new Error('maxPitch must be greater than the current minPitch');
|
|
346
|
+
}
|
|
347
|
+
}
|
|
348
|
+
}, {
|
|
349
|
+
key: "getMaxPitch",
|
|
350
|
+
value: function getMaxPitch() {
|
|
351
|
+
return this.transform.maxPitch;
|
|
352
|
+
}
|
|
353
|
+
}, {
|
|
354
|
+
key: "getRenderWorldCopies",
|
|
355
|
+
value: function getRenderWorldCopies() {
|
|
356
|
+
return this.transform.renderWorldCopies;
|
|
357
|
+
}
|
|
358
|
+
}, {
|
|
359
|
+
key: "setRenderWorldCopies",
|
|
360
|
+
value: function setRenderWorldCopies(renderWorldCopies) {
|
|
361
|
+
this.transform.renderWorldCopies = !!renderWorldCopies;
|
|
362
|
+
}
|
|
363
|
+
}, {
|
|
364
|
+
key: "remove",
|
|
365
|
+
value: function remove() {
|
|
366
|
+
if (this.frame) {
|
|
367
|
+
this.frame.cancel();
|
|
368
|
+
this.frame = null;
|
|
369
|
+
}
|
|
370
|
+
|
|
371
|
+
this.renderTaskQueue.clear();
|
|
372
|
+
}
|
|
373
|
+
}, {
|
|
374
|
+
key: "requestRenderFrame",
|
|
375
|
+
value: function requestRenderFrame(cb) {
|
|
376
|
+
this.update();
|
|
377
|
+
return this.renderTaskQueue.add(cb);
|
|
378
|
+
}
|
|
379
|
+
}, {
|
|
380
|
+
key: "cancelRenderFrame",
|
|
381
|
+
value: function cancelRenderFrame(id) {
|
|
382
|
+
return this.renderTaskQueue.remove(id);
|
|
383
|
+
}
|
|
384
|
+
}, {
|
|
385
|
+
key: "triggerRepaint",
|
|
386
|
+
value: function triggerRepaint() {
|
|
387
|
+
var _this2 = this;
|
|
388
|
+
|
|
389
|
+
if (!this.frame) {
|
|
390
|
+
this.frame = (0, _util.renderframe)(function (paintStartTimeStamp) {
|
|
391
|
+
_performance.PerformanceUtils.frame(paintStartTimeStamp);
|
|
392
|
+
|
|
393
|
+
_this2.frame = null;
|
|
394
|
+
|
|
395
|
+
_this2.update(paintStartTimeStamp);
|
|
396
|
+
});
|
|
397
|
+
}
|
|
398
|
+
}
|
|
399
|
+
}, {
|
|
400
|
+
key: "update",
|
|
401
|
+
value: function update(time) {
|
|
402
|
+
var _this3 = this;
|
|
403
|
+
|
|
404
|
+
if (!this.frame) {
|
|
405
|
+
this.frame = (0, _util.renderframe)(function (paintStartTimeStamp) {
|
|
406
|
+
_performance.PerformanceUtils.frame(paintStartTimeStamp);
|
|
407
|
+
|
|
408
|
+
_this3.frame = null;
|
|
409
|
+
|
|
410
|
+
_this3.renderTaskQueue.run(time);
|
|
411
|
+
});
|
|
412
|
+
}
|
|
413
|
+
}
|
|
414
|
+
}, {
|
|
415
|
+
key: "initContainer",
|
|
416
|
+
value: function initContainer() {
|
|
417
|
+
if (typeof this.options.container === 'string') {
|
|
418
|
+
this.container = window.document.getElementById(this.options.container);
|
|
419
|
+
|
|
420
|
+
if (!this.container) {
|
|
421
|
+
throw new Error("Container '".concat(this.options.container, "' not found."));
|
|
422
|
+
}
|
|
423
|
+
} else if (this.options.container instanceof HTMLElement) {
|
|
424
|
+
this.container = this.options.container;
|
|
425
|
+
} else {
|
|
426
|
+
throw new Error("Invalid type: 'container' must be a String or HTMLElement.");
|
|
427
|
+
}
|
|
428
|
+
|
|
429
|
+
var container = this.container;
|
|
430
|
+
container.classList.add('l7-map');
|
|
431
|
+
|
|
432
|
+
var canvasContainer = this.canvasContainer = _l7Utils.DOM.create('div', 'l7-canvas-container', container);
|
|
433
|
+
|
|
434
|
+
if (this.options.interactive) {
|
|
435
|
+
canvasContainer.classList.add('l7-interactive');
|
|
436
|
+
}
|
|
437
|
+
}
|
|
438
|
+
}, {
|
|
439
|
+
key: "containerDimensions",
|
|
440
|
+
value: function containerDimensions() {
|
|
441
|
+
var width = 0;
|
|
442
|
+
var height = 0;
|
|
443
|
+
|
|
444
|
+
if (this.container) {
|
|
445
|
+
width = this.container.clientWidth || 400;
|
|
446
|
+
height = this.container.clientHeight || 300;
|
|
447
|
+
}
|
|
448
|
+
|
|
449
|
+
return [width, height];
|
|
450
|
+
}
|
|
451
|
+
}, {
|
|
452
|
+
key: "resizeCanvas",
|
|
453
|
+
value: function resizeCanvas(width, height) {
|
|
454
|
+
var pixelRatio = _l7Utils.DOM.DPR || 1;
|
|
455
|
+
this.canvas.width = pixelRatio * width;
|
|
456
|
+
this.canvas.height = pixelRatio * height;
|
|
457
|
+
this.canvas.style.width = "".concat(width, "px");
|
|
458
|
+
this.canvas.style.height = "".concat(height, "px");
|
|
459
|
+
}
|
|
460
|
+
}]);
|
|
461
|
+
return EarthMap;
|
|
462
|
+
}(_camera.default);
|
|
463
|
+
|
|
464
|
+
exports.EarthMap = EarthMap;
|
|
465
|
+
//# sourceMappingURL=earthmap.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/earthmap.ts"],"names":["defaultMinZoom","defaultMaxZoom","defaultMinPitch","defaultMaxPitch","DefaultOptions","hash","zoom","center","pitch","bearing","interactive","minZoom","maxZoom","minPitch","maxPitch","scrollZoom","boxZoom","dragRotate","dragPan","keyboard","doubleClickZoom","touchZoomRotate","touchPitch","bearingSnap","clickTolerance","pitchWithRotate","trackResize","renderWorldCopies","EarthMap","options","TaskQueue","update","event","resize","originalEvent","initContainer","handlers","HandlerManager","window","addEventListener","onWindowOnline","onWindowResize","hashName","undefined","Hash","addTo","onHashChange","jumpTo","bounds","fitBounds","fitBoundsOptions","duration","eventData","dimensions","containerDimensions","width","height","transform","fireMoving","moving","stop","emit","Event","container","canvas","canvasContainer","lngLat","locationPoint","LngLat","convert","point","pointLocation","Point","getBounds","getMaxBounds","setMaxBounds","LngLatBounds","style","getZoom","setZoom","Error","getPitch","setPitch","frame","cancel","renderTaskQueue","clear","cb","add","id","remove","paintStartTimeStamp","PerformanceUtils","time","run","document","getElementById","HTMLElement","classList","DOM","create","clientWidth","clientHeight","pixelRatio","DPR","Camera"],"mappings":"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","sourcesContent":["import { DOM } from '@antv/l7-utils';\nimport { merge } from 'lodash';\nimport Camera from './camera';\nimport './css/l7.css';\nimport LngLat, { LngLatLike } from './geo/lng_lat';\nimport LngLatBounds, { LngLatBoundsLike } from './geo/lng_lat_bounds';\n// @ts-ignore\nimport Point, { PointLike } from './geo/point';\nimport BoxZoomHandler from './handler/box_zoom';\nimport HandlerManager from './handler/handler_manager';\nimport KeyboardHandler from './handler/keyboard';\n\nimport ScrollZoomHandler from './handler/scroll_zoom';\nimport DoubleClickZoomHandler from './handler/shim/dblclick_zoom';\nimport DragPanHandler from './handler/shim/drag_pan';\nimport DragRotateHandler from './handler/shim/drag_rotate';\nimport TouchZoomRotateHandler from './handler/shim/touch_zoom_rotate';\nimport { TouchPitchHandler } from './handler/touch';\nimport Hash from './hash';\nimport { IMapOptions } from './interface';\nimport { renderframe } from './util';\nimport { PerformanceUtils } from './utils/performance';\nimport TaskQueue, { TaskID } from './utils/task_queue';\ntype CallBack = (_: number) => void;\nconst defaultMinZoom = -2;\nconst defaultMaxZoom = 22;\n\n// the default values, but also the valid range\nconst defaultMinPitch = 0;\nconst defaultMaxPitch = 60;\n\nconst DefaultOptions: IMapOptions = {\n hash: false,\n zoom: -1,\n center: [112, 32],\n pitch: 0,\n bearing: 0,\n interactive: true,\n minZoom: defaultMinZoom,\n maxZoom: defaultMaxZoom,\n minPitch: defaultMinPitch,\n maxPitch: defaultMaxPitch,\n scrollZoom: true,\n boxZoom: true,\n dragRotate: true,\n dragPan: true,\n keyboard: true,\n doubleClickZoom: true,\n touchZoomRotate: true,\n touchPitch: true,\n bearingSnap: 7,\n clickTolerance: 3,\n pitchWithRotate: true,\n trackResize: true,\n renderWorldCopies: true,\n};\nexport class EarthMap extends Camera {\n public doubleClickZoom: DoubleClickZoomHandler;\n public dragRotate: DragRotateHandler;\n public dragPan: DragPanHandler;\n public touchZoomRotate: TouchZoomRotateHandler;\n public scrollZoom: ScrollZoomHandler;\n public keyboard: KeyboardHandler;\n public touchPitch: TouchPitchHandler;\n public boxZoom: BoxZoomHandler;\n public handlers: HandlerManager;\n\n private container: HTMLElement;\n private canvas: HTMLCanvasElement;\n private canvasContainer: HTMLElement;\n private renderTaskQueue: TaskQueue = new TaskQueue();\n private frame: { cancel: () => void } | null;\n private trackResize: boolean = true;\n private hash: Hash | undefined;\n constructor(options: Partial<IMapOptions>) {\n super(merge({}, DefaultOptions, options));\n this.initContainer();\n this.resize();\n this.handlers = new HandlerManager(this, this.options);\n\n if (typeof window !== 'undefined') {\n window.addEventListener('online', this.onWindowOnline, false);\n window.addEventListener('resize', this.onWindowResize, false);\n window.addEventListener('orientationchange', this.onWindowResize, false);\n }\n\n const hashName =\n (typeof options.hash === 'string' && options.hash) || undefined;\n if (options.hash) {\n this.hash = new Hash(hashName).addTo(this) as Hash;\n }\n\n // don't set position from options if set through hash\n if (!this.hash || !this.hash.onHashChange()) {\n this.jumpTo({\n center: options.center,\n zoom: options.zoom,\n bearing: options.bearing,\n pitch: options.pitch,\n });\n\n if (options.bounds) {\n this.resize();\n this.fitBounds(\n options.bounds,\n merge({}, options.fitBoundsOptions, { duration: 0 }),\n );\n }\n }\n }\n\n public resize(eventData?: any) {\n const dimensions = this.containerDimensions();\n const width = dimensions[0];\n const height = dimensions[1];\n\n // this.resizeCanvas(width, height);\n this.transform.resize(width, height);\n const fireMoving = !this.moving;\n if (fireMoving) {\n this.stop();\n this.emit('movestart', new Event('movestart', eventData));\n this.emit('move', new Event('move', eventData));\n }\n\n this.emit('resize', new Event('resize', eventData));\n\n if (fireMoving) {\n this.emit('moveend', new Event('moveend', eventData));\n }\n\n return this;\n }\n\n public getContainer() {\n return this.container;\n }\n\n public getCanvas() {\n return this.canvas;\n }\n\n public getCanvasContainer() {\n return this.canvasContainer;\n }\n\n public project(lngLat: LngLatLike) {\n return this.transform.locationPoint(LngLat.convert(lngLat));\n }\n\n public unproject(point: PointLike) {\n return this.transform.pointLocation(Point.convert(point));\n }\n\n public getBounds(): LngLatBounds {\n return this.transform.getBounds();\n }\n\n public getMaxBounds(): LngLatBounds | null {\n return this.transform.getMaxBounds();\n }\n\n public setMaxBounds(bounds: LngLatBoundsLike) {\n this.transform.setMaxBounds(LngLatBounds.convert(bounds));\n }\n\n public setStyle(style: any) {\n return;\n }\n public setMinZoom(minZoom?: number) {\n minZoom =\n minZoom === null || minZoom === undefined ? defaultMinZoom : minZoom;\n if (minZoom >= defaultMinZoom && minZoom <= this.transform.maxZoom) {\n this.transform.minZoom = minZoom;\n if (this.getZoom() < minZoom) {\n this.setZoom(minZoom);\n }\n\n return this;\n } else {\n throw new Error(\n `minZoom must be between ${defaultMinZoom} and the current maxZoom, inclusive`,\n );\n }\n }\n\n public getMinZoom() {\n return this.transform.minZoom;\n }\n\n public setMaxZoom(maxZoom?: number) {\n maxZoom =\n maxZoom === null || maxZoom === undefined ? defaultMaxZoom : maxZoom;\n\n if (maxZoom >= this.transform.minZoom) {\n this.transform.maxZoom = maxZoom;\n if (this.getZoom() > maxZoom) {\n this.setZoom(maxZoom);\n }\n\n return this;\n } else {\n throw new Error('maxZoom must be greater than the current minZoom');\n }\n }\n public getMaxZoom() {\n return this.transform.maxZoom;\n }\n\n public setMinPitch(minPitch?: number) {\n minPitch =\n minPitch === null || minPitch === undefined ? defaultMinPitch : minPitch;\n\n if (minPitch < defaultMinPitch) {\n throw new Error(\n `minPitch must be greater than or equal to ${defaultMinPitch}`,\n );\n }\n\n if (minPitch >= defaultMinPitch && minPitch <= this.transform.maxPitch) {\n this.transform.minPitch = minPitch;\n if (this.getPitch() < minPitch) {\n this.setPitch(minPitch);\n }\n\n return this;\n } else {\n throw new Error(\n `minPitch must be between ${defaultMinPitch} and the current maxPitch, inclusive`,\n );\n }\n }\n\n public getMinPitch() {\n return this.transform.minPitch;\n }\n\n public setMaxPitch(maxPitch?: number) {\n maxPitch =\n maxPitch === null || maxPitch === undefined ? defaultMaxPitch : maxPitch;\n\n if (maxPitch > defaultMaxPitch) {\n throw new Error(\n `maxPitch must be less than or equal to ${defaultMaxPitch}`,\n );\n }\n\n if (maxPitch >= this.transform.minPitch) {\n this.transform.maxPitch = maxPitch;\n if (this.getPitch() > maxPitch) {\n this.setPitch(maxPitch);\n }\n\n return this;\n } else {\n throw new Error('maxPitch must be greater than the current minPitch');\n }\n }\n\n public getMaxPitch() {\n return this.transform.maxPitch;\n }\n\n public getRenderWorldCopies() {\n return this.transform.renderWorldCopies;\n }\n\n public setRenderWorldCopies(renderWorldCopies?: boolean) {\n this.transform.renderWorldCopies = !!renderWorldCopies;\n }\n\n public remove() {\n if (this.frame) {\n this.frame.cancel();\n this.frame = null;\n }\n this.renderTaskQueue.clear();\n }\n\n public requestRenderFrame(cb: CallBack): TaskID {\n this.update();\n return this.renderTaskQueue.add(cb);\n }\n\n public cancelRenderFrame(id: TaskID) {\n return this.renderTaskQueue.remove(id);\n }\n\n public triggerRepaint() {\n if (!this.frame) {\n this.frame = renderframe((paintStartTimeStamp: number) => {\n PerformanceUtils.frame(paintStartTimeStamp);\n this.frame = null;\n this.update(paintStartTimeStamp);\n });\n }\n }\n\n public update(time?: number) {\n if (!this.frame) {\n this.frame = renderframe((paintStartTimeStamp: number) => {\n PerformanceUtils.frame(paintStartTimeStamp);\n this.frame = null;\n this.renderTaskQueue.run(time);\n });\n }\n }\n\n private initContainer() {\n if (typeof this.options.container === 'string') {\n this.container = window.document.getElementById(\n this.options.container,\n ) as HTMLElement;\n if (!this.container) {\n throw new Error(`Container '${this.options.container}' not found.`);\n }\n } else if (this.options.container instanceof HTMLElement) {\n this.container = this.options.container;\n } else {\n throw new Error(\n \"Invalid type: 'container' must be a String or HTMLElement.\",\n );\n }\n\n const container = this.container;\n container.classList.add('l7-map');\n\n const canvasContainer = (this.canvasContainer = DOM.create(\n 'div',\n 'l7-canvas-container',\n container,\n ));\n if (this.options.interactive) {\n canvasContainer.classList.add('l7-interactive');\n }\n\n // this.canvas = DOM.create(\n // 'canvas',\n // 'l7-canvas',\n // canvasContainer,\n // ) as HTMLCanvasElement;\n // this.canvas.setAttribute('tabindex', '-');\n // this.canvas.setAttribute('aria-label', 'Map');\n }\n\n private containerDimensions(): [number, number] {\n let width = 0;\n let height = 0;\n if (this.container) {\n width = this.container.clientWidth || 400;\n height = this.container.clientHeight || 300;\n }\n return [width, height];\n }\n\n private resizeCanvas(width: number, height: number) {\n const pixelRatio = DOM.DPR || 1;\n this.canvas.width = pixelRatio * width;\n this.canvas.height = pixelRatio * height;\n\n // Maintain the same canvas size, potentially downscaling it for HiDPI displays\n this.canvas.style.width = `${width}px`;\n this.canvas.style.height = `${height}px`;\n }\n\n private onWindowOnline = () => {\n this.update();\n };\n\n private onWindowResize = (event: Event) => {\n if (this.trackResize) {\n this.resize({ originalEvent: event }).update();\n }\n };\n}\n"],"file":"earthmap.js"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/handler/blockable_map_event.ts"],"names":["BlockableMapEventHandler","map","delayContextMenu","contextMenuEvent","e","emit","type","MapMouseEvent","listeners","preventDefault"],"mappings":";;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"sources":["../../src/handler/blockable_map_event.ts"],"names":["BlockableMapEventHandler","map","delayContextMenu","contextMenuEvent","e","emit","type","MapMouseEvent","listeners","preventDefault"],"mappings":";;;;;;;;;;;;;;;AAIA;;IACqBA,wB;AAKnB,oCAAYC,GAAZ,EAAiC;AAAA;AAAA;AAAA;AAAA;AAC/B,SAAKA,GAAL,GAAWA,GAAX;AACD;;;;WAED,iBAAe;AACb,WAAKC,gBAAL,GAAwB,KAAxB;AAEA,aAAO,KAAKC,gBAAZ;AACD;;;WAED,mBAAiBC,CAAjB,EAAgC;AAE9B,WAAKH,GAAL,CAASI,IAAT,CAAcD,CAAC,CAACE,IAAhB,EAAsB,IAAIC,qBAAJ,CAAkBH,CAAC,CAACE,IAApB,EAA0B,KAAKL,GAA/B,EAAoCG,CAApC,CAAtB;AACD;;;WAED,qBAAmB;AACjB,WAAKF,gBAAL,GAAwB,IAAxB;AACD;;;WAED,mBAAiB;AACf,WAAKA,gBAAL,GAAwB,KAAxB;;AACA,UAAI,KAAKC,gBAAT,EAA2B;AACzB,aAAKF,GAAL,CAASI,IAAT,CACE,aADF,EAEE,IAAIE,qBAAJ,CAAkB,aAAlB,EAAiC,KAAKN,GAAtC,EAA2C,KAAKE,gBAAhD,CAFF;AAKA,eAAO,KAAKA,gBAAZ;AACD;AACF;;;WACD,qBAAmBC,CAAnB,EAAkC;AAChC,UAAI,KAAKF,gBAAT,EAA2B;AAEzB,aAAKC,gBAAL,GAAwBC,CAAxB;AACD,OAHD,MAGO;AAEL,aAAKH,GAAL,CAASI,IAAT,CAAcD,CAAC,CAACE,IAAhB,EAAsB,IAAIC,qBAAJ,CAAkBH,CAAC,CAACE,IAApB,EAA0B,KAAKL,GAA/B,EAAoCG,CAApC,CAAtB;AACD;;AAGD,UAAI,KAAKH,GAAL,CAASO,SAAT,CAAmB,aAAnB,CAAJ,EAAuC;AACrCJ,QAAAA,CAAC,CAACK,cAAF;AACD;AACF;;;WAED,qBAAmB;AACjB,aAAO,IAAP;AACD;;;WAED,oBAAkB;AAChB,aAAO,KAAP;AACD;;;WACD,kBAAgB;AACd,aAAO,IAAP;AACD;;;WACD,mBAAiB;AACf,aAAO,KAAP;AACD","sourcesContent":["// @ts-ignore\nimport { EarthMap } from '../earthmap';\nimport Point from '../geo/point';\nimport { Map } from '../map';\nimport { MapMouseEvent, MapTouchEvent, MapWheelEvent } from './events';\nexport default class BlockableMapEventHandler {\n private map: Map | EarthMap;\n private delayContextMenu: boolean;\n private contextMenuEvent: MouseEvent;\n\n constructor(map: Map | EarthMap) {\n this.map = map;\n }\n\n public reset() {\n this.delayContextMenu = false;\n // @ts-ignore\n delete this.contextMenuEvent;\n }\n\n public mousemove(e: MouseEvent) {\n // mousemove map events should not be fired when interaction handlers (pan, rotate, etc) are active\n this.map.emit(e.type, new MapMouseEvent(e.type, this.map, e));\n }\n\n public mousedown() {\n this.delayContextMenu = true;\n }\n\n public mouseup() {\n this.delayContextMenu = false;\n if (this.contextMenuEvent) {\n this.map.emit(\n 'contextmenu',\n new MapMouseEvent('contextmenu', this.map, this.contextMenuEvent),\n );\n // @ts-ignore\n delete this.contextMenuEvent;\n }\n }\n public contextmenu(e: MouseEvent) {\n if (this.delayContextMenu) {\n // Mac: contextmenu fired on mousedown; we save it until mouseup for consistency's sake\n this.contextMenuEvent = e;\n } else {\n // Windows: contextmenu fired on mouseup, so fire event now\n this.map.emit(e.type, new MapMouseEvent(e.type, this.map, e));\n }\n\n // prevent browser context menu when necessary\n if (this.map.listeners('contextmenu')) {\n e.preventDefault();\n }\n }\n\n public isEnabled() {\n return true;\n }\n\n public isActive() {\n return false;\n }\n public enable() {\n return true;\n }\n public disable() {\n return false;\n }\n}\n"],"file":"blockable_map_event.js"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/handler/box_zoom.ts"],"names":["BoxZoomHandler","map","options","el","getCanvasContainer","container","getContainer","clickTolerance","enabled","active","isEnabled","e","point","shiftKey","button","DOM","disableDrag","startPos","lastPos","pos","equals","box","dist","p0","create","classList","add","fireEvent","minX","Math","min","x","maxX","max","minY","y","maxY","setTransform","style","width","height","p1","reset","suppressClick","emit","Event","originalEvent","cameraAnimation","fitScreenCoordinates","getBearing","linear","keyCode","remove","enableDrag","type"],"mappings":";;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"sources":["../../src/handler/box_zoom.ts"],"names":["BoxZoomHandler","map","options","el","getCanvasContainer","container","getContainer","clickTolerance","enabled","active","isEnabled","e","point","shiftKey","button","DOM","disableDrag","startPos","lastPos","pos","equals","box","dist","p0","create","classList","add","fireEvent","minX","Math","min","x","maxX","max","minY","y","maxY","setTransform","style","width","height","p1","reset","suppressClick","emit","Event","originalEvent","cameraAnimation","fitScreenCoordinates","getBearing","linear","keyCode","remove","enableDrag","type"],"mappings":"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","sourcesContent":["// @ts-ignore\nimport { EarthMap } from '../earthmap';\nimport Point from '../geo/point';\nimport { Map } from '../map';\nimport DOM from '../utils/dom';\nimport { Event } from './events/event';\n\n/**\n * The `BoxZoomHandler` allows the user to zoom the map to fit within a bounding box.\n * The bounding box is defined by clicking and holding `shift` while dragging the cursor.\n */\nclass BoxZoomHandler {\n private map: Map | EarthMap;\n private el: HTMLElement;\n private container: HTMLElement;\n private enabled: boolean;\n private active: boolean;\n private startPos: Point;\n private lastPos: Point;\n private box: HTMLElement | null;\n private clickTolerance: number;\n\n /**\n * @private\n */\n constructor(\n map: Map | EarthMap,\n options: {\n clickTolerance: number;\n },\n ) {\n this.map = map;\n this.el = map.getCanvasContainer();\n this.container = map.getContainer();\n this.clickTolerance = options.clickTolerance || 1;\n }\n\n /**\n * Returns a Boolean indicating whether the \"box zoom\" interaction is enabled.\n *\n * @returns {boolean} `true` if the \"box zoom\" interaction is enabled.\n */\n public isEnabled() {\n return !!this.enabled;\n }\n\n /**\n * Returns a Boolean indicating whether the \"box zoom\" interaction is active, i.e. currently being used.\n *\n * @returns {boolean} `true` if the \"box zoom\" interaction is active.\n */\n public isActive() {\n return !!this.active;\n }\n\n /**\n * Enables the \"box zoom\" interaction.\n *\n * @example\n * map.boxZoom.enable();\n */\n public enable() {\n if (this.isEnabled()) {\n return;\n }\n this.enabled = true;\n }\n\n /**\n * Disables the \"box zoom\" interaction.\n *\n * @example\n * map.boxZoom.disable();\n */\n public disable() {\n if (!this.isEnabled()) {\n return;\n }\n this.enabled = false;\n }\n\n public mousedown(e: MouseEvent, point: Point) {\n if (!this.isEnabled()) {\n return;\n }\n if (!(e.shiftKey && e.button === 0)) {\n return;\n }\n\n DOM.disableDrag();\n this.startPos = this.lastPos = point;\n this.active = true;\n }\n\n public mousemoveWindow(e: MouseEvent, point: Point) {\n if (!this.active) {\n return;\n }\n\n const pos = point;\n\n if (\n this.lastPos.equals(pos) ||\n (!this.box && pos.dist(this.startPos) < this.clickTolerance)\n ) {\n return;\n }\n\n const p0 = this.startPos;\n this.lastPos = pos;\n\n if (!this.box) {\n this.box = DOM.create('div', 'l7-boxzoom', this.container);\n this.container.classList.add('l7-crosshair');\n this.fireEvent('boxzoomstart', e);\n }\n const minX = Math.min(p0.x, pos.x);\n const maxX = Math.max(p0.x, pos.x);\n const minY = Math.min(p0.y, pos.y);\n const maxY = Math.max(p0.y, pos.y);\n\n DOM.setTransform(this.box, `translate(${minX}px,${minY}px)`);\n if (this.box) {\n this.box.style.width = `${maxX - minX}px`;\n this.box.style.height = `${maxY - minY}px`;\n }\n }\n\n public mouseupWindow(e: MouseEvent, point: Point) {\n if (!this.active) {\n return;\n }\n\n if (e.button !== 0) {\n return;\n }\n\n const p0 = this.startPos;\n const p1 = point;\n\n this.reset();\n\n DOM.suppressClick();\n\n if (p0.x === p1.x && p0.y === p1.y) {\n this.fireEvent('boxzoomcancel', e);\n } else {\n this.map.emit(\n 'boxzoomend',\n new Event('boxzoomend', { originalEvent: e }),\n );\n return {\n cameraAnimation: (map: Map) =>\n map.fitScreenCoordinates(p0, p1, this.map.getBearing(), {\n linear: true,\n }),\n };\n }\n }\n\n public keydown(e: KeyboardEvent) {\n if (!this.active) {\n return;\n }\n\n if (e.keyCode === 27) {\n this.reset();\n this.fireEvent('boxzoomcancel', e);\n }\n }\n\n public reset() {\n this.active = false;\n\n this.container.classList.remove('l7-crosshair');\n\n if (this.box) {\n DOM.remove(this.box);\n this.box = null;\n }\n\n DOM.enableDrag();\n // @ts-ignore\n delete this.startPos;\n // @ts-ignore\n delete this.lastPos;\n }\n\n public fireEvent(type: string, e: any) {\n return this.map.emit(type, new Event(type, { originalEvent: e }));\n }\n}\n\nexport default BoxZoomHandler;\n"],"file":"box_zoom.js"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/handler/click_zoom.ts"],"names":["ClickZoomHandler","reset","active","e","point","preventDefault","cameraAnimation","map","easeTo","duration","zoom","getZoom","shiftKey","around","unproject","originalEvent","enabled"],"mappings":";;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"sources":["../../src/handler/click_zoom.ts"],"names":["ClickZoomHandler","reset","active","e","point","preventDefault","cameraAnimation","map","easeTo","duration","zoom","getZoom","shiftKey","around","unproject","originalEvent","enabled"],"mappings":";;;;;;;;;;;;;;;IAKqBA,gB;AAInB,8BAAc;AAAA;AAAA;AAAA;AACZ,SAAKC,KAAL;AACD;;;;WAED,iBAAe;AACb,WAAKC,MAAL,GAAc,KAAd;AACD;;;WAED,kBAAgBC,CAAhB,EAA+BC,KAA/B,EAA6C;AAC3CD,MAAAA,CAAC,CAACE,cAAF;AACA,aAAO;AACLC,QAAAA,eAAe,EAAE,yBAACC,GAAD,EAAyB;AACxCA,UAAAA,GAAG,CAACC,MAAJ,CACE;AACEC,YAAAA,QAAQ,EAAE,GADZ;AAEEC,YAAAA,IAAI,EAAEH,GAAG,CAACI,OAAJ,MAAiBR,CAAC,CAACS,QAAF,GAAa,CAAC,CAAd,GAAkB,CAAnC,CAFR;AAGEC,YAAAA,MAAM,EAAEN,GAAG,CAACO,SAAJ,CAAcV,KAAd;AAHV,WADF,EAME;AAAEW,YAAAA,aAAa,EAAEZ;AAAjB,WANF;AAQD;AAVI,OAAP;AAYD;;;WAED,kBAAgB;AACd,WAAKa,OAAL,GAAe,IAAf;AACD;;;WACD,mBAAiB;AACf,WAAKA,OAAL,GAAe,KAAf;AACA,WAAKf,KAAL;AACD;;;WAED,qBAAmB;AACjB,aAAO,KAAKe,OAAZ;AACD;;;WAED,oBAAkB;AAChB,aAAO,KAAKd,MAAZ;AACD","sourcesContent":["// @ts-ignore\nimport { EarthMap } from '../earthmap';\nimport Point from '../geo/point';\nimport { Map } from '../map';\n\nexport default class ClickZoomHandler {\n private enabled: boolean;\n private active: boolean;\n\n constructor() {\n this.reset();\n }\n\n public reset() {\n this.active = false;\n }\n\n public dblclick(e: MouseEvent, point: Point) {\n e.preventDefault();\n return {\n cameraAnimation: (map: Map | EarthMap) => {\n map.easeTo(\n {\n duration: 300,\n zoom: map.getZoom() + (e.shiftKey ? -1 : 1),\n around: map.unproject(point),\n },\n { originalEvent: e },\n );\n },\n };\n }\n\n public enable() {\n this.enabled = true;\n }\n public disable() {\n this.enabled = false;\n this.reset();\n }\n\n public isEnabled() {\n return this.enabled;\n }\n\n public isActive() {\n return this.active;\n }\n}\n"],"file":"click_zoom.js"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/handler/events/map_mouse_event.ts"],"names":["MapMouseEvent","type","map","originalEvent","data","point","DOM","mousePos","getCanvasContainer","lngLat","unproject","defaultPrevented","target","Event"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAEA;;
|
|
1
|
+
{"version":3,"sources":["../../../src/handler/events/map_mouse_event.ts"],"names":["MapMouseEvent","type","map","originalEvent","data","point","DOM","mousePos","getCanvasContainer","lngLat","unproject","defaultPrevented","target","Event"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAEA;;AAKA;;AACA;;;;;;IACqBA,a;;;;;AA2CnB,yBACEC,IADF,EAEEC,GAFF,EAGEC,aAHF,EAKE;AAAA;;AAAA,QADAC,IACA,uEADY,EACZ;AAAA;;AACA,QAAMC,KAAK,GAAGC,aAAIC,QAAJ,CAAaL,GAAG,CAACM,kBAAJ,EAAb,EAAuCL,aAAvC,CAAd;;AACA,QAAMM,MAAM,GAAGP,GAAG,CAACQ,SAAJ,CAAcL,KAAd,CAAf;AACA,8BAAMJ,IAAN,EAAY,oBAAM;AAAEI,MAAAA,KAAK,EAALA,KAAF;AAASI,MAAAA,MAAM,EAANA,MAAT;AAAiBN,MAAAA,aAAa,EAAbA;AAAjB,KAAN,EAAwCC,IAAxC,CAAZ;AAHA;AAAA;AAAA;AAAA;AAAA;AAAA;AAIA,UAAKO,gBAAL,GAAwB,KAAxB;AACA,UAAKC,MAAL,GAAcV,GAAd;AALA;AAMD;;;;WACD,0BAAwB;AACtB,WAAKS,gBAAL,GAAwB,IAAxB;AACD;;;EAzDwCE,Y","sourcesContent":["// @ts-ignore\n// tslint:disable-next-line:no-submodule-imports\nimport merge from 'lodash/merge';\nimport { EarthMap } from '../../earthmap';\nimport LngLat from '../../geo/lng_lat';\nimport Point from '../../geo/point';\nimport { Map } from '../../map';\nimport DOM from '../../utils/dom';\nimport { Event } from './event';\nexport default class MapMouseEvent extends Event {\n /**\n * `true` if `preventDefault` has been called.\n * @private\n */\n\n public type:\n | 'mousedown'\n | 'mouseup'\n | 'click'\n | 'dblclick'\n | 'mousemove'\n | 'mouseover'\n | 'mouseenter'\n | 'mouseleave'\n | 'mouseout'\n | 'contextmenu';\n\n /**\n * The `Map` object that fired the event.\n */\n public target: Map | EarthMap;\n\n /**\n * The DOM event which caused the map event.\n */\n public originalEvent: MouseEvent;\n\n /**\n * The pixel coordinates of the mouse cursor, relative to the map and measured from the top left corner.\n */\n public point: Point;\n\n /**\n * The geographic location on the map of the mouse cursor.\n */\n public lngLat: LngLat;\n\n public defaultPrevented: boolean;\n\n /**\n * @private\n */\n constructor(\n type: string,\n map: Map | EarthMap,\n originalEvent: MouseEvent,\n data: any = {},\n ) {\n const point = DOM.mousePos(map.getCanvasContainer(), originalEvent);\n const lngLat = map.unproject(point);\n super(type, merge({ point, lngLat, originalEvent }, data));\n this.defaultPrevented = false;\n this.target = map;\n }\n public preventDefault() {\n this.defaultPrevented = true;\n }\n}\n"],"file":"map_mouse_event.js"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/handler/events/map_touch_event.ts"],"names":["MapTouchEvent","type","map","originalEvent","touches","changedTouches","points","DOM","touchPos","getCanvasContainer","lngLats","t","unproject","point","reduce","prev","curr","i","arr","add","div","length","Point","lngLat","defaultPrevented","Event"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"sources":["../../../src/handler/events/map_touch_event.ts"],"names":["MapTouchEvent","type","map","originalEvent","touches","changedTouches","points","DOM","touchPos","getCanvasContainer","lngLats","t","unproject","point","reduce","prev","curr","i","arr","add","div","length","Point","lngLat","defaultPrevented","Event"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAGA;;AAEA;;AACA;;;;;;IACqBA,a;;;;;AAiDnB,yBAAYC,IAAZ,EAA0BC,GAA1B,EAA+CC,aAA/C,EAA0E;AAAA;;AAAA;AACxE,QAAMC,OAAO,GACXH,IAAI,KAAK,UAAT,GACIE,aAAa,CAACE,cADlB,GAEIF,aAAa,CAACC,OAHpB;;AAIA,QAAME,MAAM,GAAGC,aAAIC,QAAJ,CAAaN,GAAG,CAACO,kBAAJ,EAAb,EAAuCL,OAAvC,CAAf;;AACA,QAAMM,OAAO,GAAGJ,MAAM,CAACJ,GAAP,CAAW,UAACS,CAAD;AAAA,aAAcT,GAAG,CAACU,SAAJ,CAAcD,CAAd,CAAd;AAAA,KAAX,CAAhB;AACA,QAAME,KAAK,GAAGP,MAAM,CAACQ,MAAP,CACZ,UAACC,IAAD,EAAcC,IAAd,EAA2BC,CAA3B,EAAsCC,GAAtC,EAAuD;AACrD,aAAOH,IAAI,CAACI,GAAL,CAASH,IAAI,CAACI,GAAL,CAASF,GAAG,CAACG,MAAb,CAAT,CAAP;AACD,KAHW,EAIZ,IAAIC,cAAJ,CAAU,CAAV,EAAa,CAAb,CAJY,CAAd;AAMA,QAAMC,MAAM,GAAGrB,GAAG,CAACU,SAAJ,CAAcC,KAAd,CAAf;AACA,8BAAMZ,IAAN,EAAY;AAAEK,MAAAA,MAAM,EAANA,MAAF;AAAUO,MAAAA,KAAK,EAALA,KAAV;AAAiBH,MAAAA,OAAO,EAAPA,OAAjB;AAA0Ba,MAAAA,MAAM,EAANA,MAA1B;AAAkCpB,MAAAA,aAAa,EAAbA;AAAlC,KAAZ;AAdwE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAexE,UAAKqB,gBAAL,GAAwB,KAAxB;AAfwE;AAgBzE;;;;WAWD,0BAAyB;AACvB,WAAKA,gBAAL,GAAwB,IAAxB;AACD;;;EA9EwCC,Y","sourcesContent":["// @ts-ignore\nimport { EarthMap } from '../../earthmap';\nimport LngLat from '../../geo/lng_lat';\nimport Point from '../../geo/point';\nimport { Map } from '../../map';\nimport DOM from '../../utils/dom';\nimport { Event } from './event';\nexport default class MapTouchEvent extends Event {\n /**\n * The event type.\n */\n public type: 'touchstart' | 'touchend' | 'touchcancel';\n\n /**\n * The `Map` object that fired the event.\n */\n public target: Map | EarthMap;\n\n /**\n * The DOM event which caused the map event.\n */\n public originalEvent: TouchEvent;\n\n /**\n * The geographic location on the map of the center of the touch event points.\n */\n public lngLat: LngLat;\n\n /**\n * The pixel coordinates of the center of the touch event points, relative to the map and measured from the top left\n * corner.\n */\n public point: Point;\n\n /**\n * The array of pixel coordinates corresponding to a\n * [touch event's `touches`](https://developer.mozilla.org/en-US/docs/Web/API/TouchEvent/touches) property.\n */\n public points: Point[];\n\n /**\n * The geographical locations on the map corresponding to a\n * [touch event's `touches`](https://developer.mozilla.org/en-US/docs/Web/API/TouchEvent/touches) property.\n */\n public lngLats: LngLat[];\n\n /**\n * `true` if `preventDefault` has been called.\n * @private\n */\n\n public defaultPrevented: boolean;\n\n /**\n * @private\n */\n constructor(type: string, map: Map | EarthMap, originalEvent: TouchEvent) {\n const touches =\n type === 'touchend'\n ? originalEvent.changedTouches\n : originalEvent.touches;\n const points = DOM.touchPos(map.getCanvasContainer(), touches);\n const lngLats = points.map((t: Point) => map.unproject(t));\n const point = points.reduce(\n (prev: Point, curr: Point, i: number, arr: Point[]) => {\n return prev.add(curr.div(arr.length));\n },\n new Point(0, 0),\n );\n const lngLat = map.unproject(point);\n super(type, { points, point, lngLats, lngLat, originalEvent });\n this.defaultPrevented = false;\n }\n\n /**\n * Prevents subsequent default processing of the event by the map.\n *\n * Calling this method will prevent the following default map behaviors:\n *\n * * On `touchstart` events, the behavior of {@link DragPanHandler}\n * * On `touchstart` events, the behavior of {@link TouchZoomRotateHandler}\n *\n */\n private preventDefault() {\n this.defaultPrevented = true;\n }\n}\n"],"file":"map_touch_event.js"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/handler/events/map_wheel_event.ts"],"names":["MapWheelEvent","type","map","originalEvent","defaultPrevented","Event"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"sources":["../../../src/handler/events/map_wheel_event.ts"],"names":["MapWheelEvent","type","map","originalEvent","defaultPrevented","Event"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAEA;;;;;;IAOqBA,a;;;;;AAqBnB,yBAAYC,IAAZ,EAA0BC,GAA1B,EAA+CC,aAA/C,EAA0E;AAAA;;AAAA;AACxE,8BAAMF,IAAN,EAAY;AAAEE,MAAAA,aAAa,EAAbA;AAAF,KAAZ;AADwE;AAAA;AAAA;AAAA;AAExE,UAAKC,gBAAL,GAAwB,KAAxB;AAFwE;AAGzE;;;;WAOD,0BAAyB;AACvB,WAAKA,gBAAL,GAAwB,IAAxB;AACD;;;EAjCwCC,Y","sourcesContent":["import { EarthMap } from '../../earthmap';\nimport { Map } from '../../map';\nimport { Event } from './event';\n\nexport interface IMapBoxZoomEvent {\n type: 'boxzoomstart' | 'boxzoomend' | 'boxzoomcancel';\n target: Map | EarthMap;\n originalEvent: MouseEvent;\n}\nexport default class MapWheelEvent extends Event {\n /**\n * The event type.\n */\n public type: 'wheel';\n\n /**\n * The DOM event which caused the map event.\n */\n public originalEvent: WheelEvent;\n\n public defaultPrevented: boolean;\n\n /**\n * The `Map` object that fired the event.\n */\n public target: Map | EarthMap;\n\n /**\n * @private\n */\n constructor(type: string, map: Map | EarthMap, originalEvent: WheelEvent) {\n super(type, { originalEvent });\n this.defaultPrevented = false;\n }\n\n /**\n * Prevents subsequent default processing of the event by the map.\n *\n * Calling this method will prevent the the behavior of {@link ScrollZoomHandler}.\n */\n private preventDefault() {\n this.defaultPrevented = true;\n }\n}\n"],"file":"map_wheel_event.js"}
|