@antv/l7-map 2.22.7 → 2.23.0
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/map/events.js +9 -0
- package/es/map/map.d.ts +12 -0
- package/es/map/map.js +4 -0
- package/es/map/util/simpleMapCoord.d.ts +31 -0
- package/es/map/util/simpleMapCoord.js +54 -0
- package/lib/map/events.js +9 -0
- package/lib/map/map.d.ts +12 -0
- package/lib/map/map.js +4 -0
- package/lib/map/util/simpleMapCoord.d.ts +31 -0
- package/lib/map/util/simpleMapCoord.js +62 -0
- package/package.json +2 -2
package/es/map/events.js
CHANGED
|
@@ -2,6 +2,7 @@ import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
|
2
2
|
import { Event } from "./util/evented";
|
|
3
3
|
import Point from '@mapbox/point-geometry';
|
|
4
4
|
import { DOM } from "./util/dom";
|
|
5
|
+
import { SimpleMapCoord } from "./util/simpleMapCoord";
|
|
5
6
|
|
|
6
7
|
/**
|
|
7
8
|
* `MapEventType` - a mapping between the event name and the event value.
|
|
@@ -94,6 +95,14 @@ export class MapMouseEvent extends Event {
|
|
|
94
95
|
this.originalEvent = originalEvent;
|
|
95
96
|
this._defaultPrevented = false;
|
|
96
97
|
this.target = map;
|
|
98
|
+
if (map.version === 'SIMPLE') {
|
|
99
|
+
const simpleMapCoord = new SimpleMapCoord(map.mapSize);
|
|
100
|
+
const [lng, lat] = simpleMapCoord.project([lngLat.lng, lngLat.lat]);
|
|
101
|
+
this.lngLat = {
|
|
102
|
+
lng,
|
|
103
|
+
lat
|
|
104
|
+
};
|
|
105
|
+
}
|
|
97
106
|
}
|
|
98
107
|
}
|
|
99
108
|
|
package/es/map/map.d.ts
CHANGED
|
@@ -25,6 +25,16 @@ import type { TaskID } from './util/task_queue';
|
|
|
25
25
|
* The {@link Map} options object.
|
|
26
26
|
*/
|
|
27
27
|
export type MapOptions = {
|
|
28
|
+
/**
|
|
29
|
+
* The MapType of the map.
|
|
30
|
+
* @defaultValue DEFAUlTMAP
|
|
31
|
+
*/
|
|
32
|
+
version?: string;
|
|
33
|
+
/**
|
|
34
|
+
* The map size for SIMPLE map.
|
|
35
|
+
* @defaultValue 10000
|
|
36
|
+
*/
|
|
37
|
+
mapSize?: number;
|
|
28
38
|
/**
|
|
29
39
|
* If `false`, no mouse, touch, or keyboard listeners will be attached to the map, so it will not respond to interaction.
|
|
30
40
|
* @defaultValue true
|
|
@@ -209,6 +219,8 @@ export declare class Map extends Camera {
|
|
|
209
219
|
_mapId: number;
|
|
210
220
|
_removed: boolean;
|
|
211
221
|
_clickTolerance: number;
|
|
222
|
+
version: string;
|
|
223
|
+
mapSize: number;
|
|
212
224
|
/**
|
|
213
225
|
* The map's {@link ScrollZoomHandler}, which implements zooming in and out with a scroll wheel or trackpad.
|
|
214
226
|
* Find more details and examples using `scrollZoom` in the {@link ScrollZoomHandler} section.
|
package/es/map/map.js
CHANGED
|
@@ -319,6 +319,8 @@ export class Map extends Camera {
|
|
|
319
319
|
_defineProperty(this, "_mapId", uniqueId());
|
|
320
320
|
_defineProperty(this, "_removed", void 0);
|
|
321
321
|
_defineProperty(this, "_clickTolerance", void 0);
|
|
322
|
+
_defineProperty(this, "version", void 0);
|
|
323
|
+
_defineProperty(this, "mapSize", void 0);
|
|
322
324
|
/**
|
|
323
325
|
* The map's {@link ScrollZoomHandler}, which implements zooming in and out with a scroll wheel or trackpad.
|
|
324
326
|
* Find more details and examples using `scrollZoom` in the {@link ScrollZoomHandler} section.
|
|
@@ -378,6 +380,8 @@ export class Map extends Camera {
|
|
|
378
380
|
this._bearingSnap = resolvedOptions.bearingSnap;
|
|
379
381
|
this._fadeDuration = resolvedOptions.fadeDuration;
|
|
380
382
|
this._clickTolerance = resolvedOptions.clickTolerance;
|
|
383
|
+
this.version = options.version;
|
|
384
|
+
this.mapSize = options.mapSize;
|
|
381
385
|
if (typeof resolvedOptions.container === 'string') {
|
|
382
386
|
this._container = document.getElementById(resolvedOptions.container);
|
|
383
387
|
if (!this._container) {
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
export interface ISimpleMapCoord {
|
|
2
|
+
setSize(size: number): void;
|
|
3
|
+
getSize(): [number, number];
|
|
4
|
+
project(lnglat: [number, number]): [number, number];
|
|
5
|
+
unproject(xy: [number, number]): [number, number];
|
|
6
|
+
}
|
|
7
|
+
export declare class SimpleMapCoord implements ISimpleMapCoord {
|
|
8
|
+
private size;
|
|
9
|
+
constructor(size?: number);
|
|
10
|
+
setSize(size: number): void;
|
|
11
|
+
getSize(): [number, number];
|
|
12
|
+
/**
|
|
13
|
+
* coord
|
|
14
|
+
* ^ y (y > 0)
|
|
15
|
+
* |
|
|
16
|
+
* |
|
|
17
|
+
* |
|
|
18
|
+
* |(x = 0, y = 0)
|
|
19
|
+
* ---------------> x (x > 0)
|
|
20
|
+
*/
|
|
21
|
+
/***
|
|
22
|
+
* lng: [-180, 180] 360
|
|
23
|
+
* lat: [-85.05112877980659, 85.05112877980659] 170.10225755961318
|
|
24
|
+
*/
|
|
25
|
+
mercatorXfromLng(lng: number): number;
|
|
26
|
+
mercatorYfromLat(lat: number): number;
|
|
27
|
+
lngFromMercatorX(x: number): number;
|
|
28
|
+
latFromMercatorY(y: number): number;
|
|
29
|
+
project(lnglat: [number, number]): [number, number];
|
|
30
|
+
unproject(xy: [number, number]): [number, number];
|
|
31
|
+
}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
2
|
+
export class SimpleMapCoord {
|
|
3
|
+
constructor(size) {
|
|
4
|
+
_defineProperty(this, "size", 10000);
|
|
5
|
+
this.size = size ? size : 10000;
|
|
6
|
+
}
|
|
7
|
+
setSize(size) {
|
|
8
|
+
this.size = size;
|
|
9
|
+
}
|
|
10
|
+
getSize() {
|
|
11
|
+
return [this.size, this.size];
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* coord
|
|
16
|
+
* ^ y (y > 0)
|
|
17
|
+
* |
|
|
18
|
+
* |
|
|
19
|
+
* |
|
|
20
|
+
* |(x = 0, y = 0)
|
|
21
|
+
* ---------------> x (x > 0)
|
|
22
|
+
*/
|
|
23
|
+
|
|
24
|
+
/***
|
|
25
|
+
* lng: [-180, 180] 360
|
|
26
|
+
* lat: [-85.05112877980659, 85.05112877980659] 170.10225755961318
|
|
27
|
+
*/
|
|
28
|
+
|
|
29
|
+
mercatorXfromLng(lng) {
|
|
30
|
+
// (0 - 1) * this.size
|
|
31
|
+
return (180 + lng) / 360 * this.size;
|
|
32
|
+
}
|
|
33
|
+
mercatorYfromLat(lat) {
|
|
34
|
+
// (0 - 1) * this.size
|
|
35
|
+
return (1 - (180 - 180 / Math.PI * Math.log(Math.tan(Math.PI / 4 + lat * Math.PI / 360))) / 360) * this.size;
|
|
36
|
+
}
|
|
37
|
+
lngFromMercatorX(x) {
|
|
38
|
+
return x / this.size * 360 - 180;
|
|
39
|
+
}
|
|
40
|
+
latFromMercatorY(y) {
|
|
41
|
+
const y2 = 180 - (1 - y / this.size) * 360;
|
|
42
|
+
return 360 / Math.PI * Math.atan(Math.exp(y2 * Math.PI / 180)) - 90;
|
|
43
|
+
}
|
|
44
|
+
project(lnglat) {
|
|
45
|
+
const x = this.mercatorXfromLng(lnglat[0]);
|
|
46
|
+
const y = this.mercatorYfromLat(lnglat[1]);
|
|
47
|
+
return [x, y];
|
|
48
|
+
}
|
|
49
|
+
unproject(xy) {
|
|
50
|
+
const lng = this.lngFromMercatorX(xy[0]);
|
|
51
|
+
const lat = this.latFromMercatorY(xy[1]);
|
|
52
|
+
return [lng, lat];
|
|
53
|
+
}
|
|
54
|
+
}
|
package/lib/map/events.js
CHANGED
|
@@ -9,6 +9,7 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/de
|
|
|
9
9
|
var _evented = require("./util/evented");
|
|
10
10
|
var _pointGeometry = _interopRequireDefault(require("@mapbox/point-geometry"));
|
|
11
11
|
var _dom = require("./util/dom");
|
|
12
|
+
var _simpleMapCoord = require("./util/simpleMapCoord");
|
|
12
13
|
/**
|
|
13
14
|
* `MapEventType` - a mapping between the event name and the event value.
|
|
14
15
|
* These events are used with the {@link Map#on} method.
|
|
@@ -100,6 +101,14 @@ class MapMouseEvent extends _evented.Event {
|
|
|
100
101
|
this.originalEvent = originalEvent;
|
|
101
102
|
this._defaultPrevented = false;
|
|
102
103
|
this.target = map;
|
|
104
|
+
if (map.version === 'SIMPLE') {
|
|
105
|
+
const simpleMapCoord = new _simpleMapCoord.SimpleMapCoord(map.mapSize);
|
|
106
|
+
const [lng, lat] = simpleMapCoord.project([lngLat.lng, lngLat.lat]);
|
|
107
|
+
this.lngLat = {
|
|
108
|
+
lng,
|
|
109
|
+
lat
|
|
110
|
+
};
|
|
111
|
+
}
|
|
103
112
|
}
|
|
104
113
|
}
|
|
105
114
|
|
package/lib/map/map.d.ts
CHANGED
|
@@ -25,6 +25,16 @@ import type { TaskID } from './util/task_queue';
|
|
|
25
25
|
* The {@link Map} options object.
|
|
26
26
|
*/
|
|
27
27
|
export type MapOptions = {
|
|
28
|
+
/**
|
|
29
|
+
* The MapType of the map.
|
|
30
|
+
* @defaultValue DEFAUlTMAP
|
|
31
|
+
*/
|
|
32
|
+
version?: string;
|
|
33
|
+
/**
|
|
34
|
+
* The map size for SIMPLE map.
|
|
35
|
+
* @defaultValue 10000
|
|
36
|
+
*/
|
|
37
|
+
mapSize?: number;
|
|
28
38
|
/**
|
|
29
39
|
* If `false`, no mouse, touch, or keyboard listeners will be attached to the map, so it will not respond to interaction.
|
|
30
40
|
* @defaultValue true
|
|
@@ -209,6 +219,8 @@ export declare class Map extends Camera {
|
|
|
209
219
|
_mapId: number;
|
|
210
220
|
_removed: boolean;
|
|
211
221
|
_clickTolerance: number;
|
|
222
|
+
version: string;
|
|
223
|
+
mapSize: number;
|
|
212
224
|
/**
|
|
213
225
|
* The map's {@link ScrollZoomHandler}, which implements zooming in and out with a scroll wheel or trackpad.
|
|
214
226
|
* Find more details and examples using `scrollZoom` in the {@link ScrollZoomHandler} section.
|
package/lib/map/map.js
CHANGED
|
@@ -325,6 +325,8 @@ class Map extends _camera.Camera {
|
|
|
325
325
|
(0, _defineProperty2.default)(this, "_mapId", (0, _util.uniqueId)());
|
|
326
326
|
(0, _defineProperty2.default)(this, "_removed", void 0);
|
|
327
327
|
(0, _defineProperty2.default)(this, "_clickTolerance", void 0);
|
|
328
|
+
(0, _defineProperty2.default)(this, "version", void 0);
|
|
329
|
+
(0, _defineProperty2.default)(this, "mapSize", void 0);
|
|
328
330
|
/**
|
|
329
331
|
* The map's {@link ScrollZoomHandler}, which implements zooming in and out with a scroll wheel or trackpad.
|
|
330
332
|
* Find more details and examples using `scrollZoom` in the {@link ScrollZoomHandler} section.
|
|
@@ -384,6 +386,8 @@ class Map extends _camera.Camera {
|
|
|
384
386
|
this._bearingSnap = resolvedOptions.bearingSnap;
|
|
385
387
|
this._fadeDuration = resolvedOptions.fadeDuration;
|
|
386
388
|
this._clickTolerance = resolvedOptions.clickTolerance;
|
|
389
|
+
this.version = options.version;
|
|
390
|
+
this.mapSize = options.mapSize;
|
|
387
391
|
if (typeof resolvedOptions.container === 'string') {
|
|
388
392
|
this._container = document.getElementById(resolvedOptions.container);
|
|
389
393
|
if (!this._container) {
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
export interface ISimpleMapCoord {
|
|
2
|
+
setSize(size: number): void;
|
|
3
|
+
getSize(): [number, number];
|
|
4
|
+
project(lnglat: [number, number]): [number, number];
|
|
5
|
+
unproject(xy: [number, number]): [number, number];
|
|
6
|
+
}
|
|
7
|
+
export declare class SimpleMapCoord implements ISimpleMapCoord {
|
|
8
|
+
private size;
|
|
9
|
+
constructor(size?: number);
|
|
10
|
+
setSize(size: number): void;
|
|
11
|
+
getSize(): [number, number];
|
|
12
|
+
/**
|
|
13
|
+
* coord
|
|
14
|
+
* ^ y (y > 0)
|
|
15
|
+
* |
|
|
16
|
+
* |
|
|
17
|
+
* |
|
|
18
|
+
* |(x = 0, y = 0)
|
|
19
|
+
* ---------------> x (x > 0)
|
|
20
|
+
*/
|
|
21
|
+
/***
|
|
22
|
+
* lng: [-180, 180] 360
|
|
23
|
+
* lat: [-85.05112877980659, 85.05112877980659] 170.10225755961318
|
|
24
|
+
*/
|
|
25
|
+
mercatorXfromLng(lng: number): number;
|
|
26
|
+
mercatorYfromLat(lat: number): number;
|
|
27
|
+
lngFromMercatorX(x: number): number;
|
|
28
|
+
latFromMercatorY(y: number): number;
|
|
29
|
+
project(lnglat: [number, number]): [number, number];
|
|
30
|
+
unproject(xy: [number, number]): [number, number];
|
|
31
|
+
}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.SimpleMapCoord = void 0;
|
|
8
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
9
|
+
class SimpleMapCoord {
|
|
10
|
+
constructor(size) {
|
|
11
|
+
(0, _defineProperty2.default)(this, "size", 10000);
|
|
12
|
+
this.size = size ? size : 10000;
|
|
13
|
+
}
|
|
14
|
+
setSize(size) {
|
|
15
|
+
this.size = size;
|
|
16
|
+
}
|
|
17
|
+
getSize() {
|
|
18
|
+
return [this.size, this.size];
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* coord
|
|
23
|
+
* ^ y (y > 0)
|
|
24
|
+
* |
|
|
25
|
+
* |
|
|
26
|
+
* |
|
|
27
|
+
* |(x = 0, y = 0)
|
|
28
|
+
* ---------------> x (x > 0)
|
|
29
|
+
*/
|
|
30
|
+
|
|
31
|
+
/***
|
|
32
|
+
* lng: [-180, 180] 360
|
|
33
|
+
* lat: [-85.05112877980659, 85.05112877980659] 170.10225755961318
|
|
34
|
+
*/
|
|
35
|
+
|
|
36
|
+
mercatorXfromLng(lng) {
|
|
37
|
+
// (0 - 1) * this.size
|
|
38
|
+
return (180 + lng) / 360 * this.size;
|
|
39
|
+
}
|
|
40
|
+
mercatorYfromLat(lat) {
|
|
41
|
+
// (0 - 1) * this.size
|
|
42
|
+
return (1 - (180 - 180 / Math.PI * Math.log(Math.tan(Math.PI / 4 + lat * Math.PI / 360))) / 360) * this.size;
|
|
43
|
+
}
|
|
44
|
+
lngFromMercatorX(x) {
|
|
45
|
+
return x / this.size * 360 - 180;
|
|
46
|
+
}
|
|
47
|
+
latFromMercatorY(y) {
|
|
48
|
+
const y2 = 180 - (1 - y / this.size) * 360;
|
|
49
|
+
return 360 / Math.PI * Math.atan(Math.exp(y2 * Math.PI / 180)) - 90;
|
|
50
|
+
}
|
|
51
|
+
project(lnglat) {
|
|
52
|
+
const x = this.mercatorXfromLng(lnglat[0]);
|
|
53
|
+
const y = this.mercatorYfromLat(lnglat[1]);
|
|
54
|
+
return [x, y];
|
|
55
|
+
}
|
|
56
|
+
unproject(xy) {
|
|
57
|
+
const lng = this.lngFromMercatorX(xy[0]);
|
|
58
|
+
const lat = this.latFromMercatorY(xy[1]);
|
|
59
|
+
return [lng, lat];
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
exports.SimpleMapCoord = SimpleMapCoord;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@antv/l7-map",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.23.0",
|
|
4
4
|
"description": "L7 Map",
|
|
5
5
|
"keywords": [],
|
|
6
6
|
"homepage": "https://github.com/antvis/L7#readme",
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
"@mapbox/unitbezier": "^0.0.1",
|
|
28
28
|
"eventemitter3": "^4.0.4",
|
|
29
29
|
"gl-matrix": "^3.1.0",
|
|
30
|
-
"@antv/l7-utils": "2.
|
|
30
|
+
"@antv/l7-utils": "2.23.0"
|
|
31
31
|
},
|
|
32
32
|
"devDependencies": {
|
|
33
33
|
"@types/mapbox__point-geometry": "^0.1.4"
|