mirror of https://gitee.com/antv-l7/antv-l7
chore(map): point geometry
This commit is contained in:
parent
9bf9d761b8
commit
419cb4baa0
|
@ -37,7 +37,7 @@
|
||||||
},
|
},
|
||||||
"homepage": "https://github.com/antvis/L7#readme",
|
"homepage": "https://github.com/antvis/L7#readme",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@antv/l7-utils": "2.2.11",
|
"@antv/l7-utils": "2.2.14",
|
||||||
"@mapbox/point-geometry": "^0.1.0",
|
"@mapbox/point-geometry": "^0.1.0",
|
||||||
"@mapbox/unitbezier": "^0.0.0",
|
"@mapbox/unitbezier": "^0.0.0",
|
||||||
"eventemitter3": "^4.0.4",
|
"eventemitter3": "^4.0.4",
|
||||||
|
|
|
@ -1,10 +1,10 @@
|
||||||
// @ts-ignore
|
// @ts-ignore
|
||||||
import Point, { PointLike } from '@mapbox/point-geometry';
|
|
||||||
import { EventEmitter } from 'eventemitter3';
|
import { EventEmitter } from 'eventemitter3';
|
||||||
import { merge } from 'lodash';
|
import { merge } from 'lodash';
|
||||||
import { IPaddingOptions } from './geo/edge_insets';
|
import { IPaddingOptions } from './geo/edge_insets';
|
||||||
import LngLat, { LngLatLike } from './geo/lng_lat';
|
import LngLat, { LngLatLike } from './geo/lng_lat';
|
||||||
import LngLatBounds, { LngLatBoundsLike } from './geo/lng_lat_bounds';
|
import LngLatBounds, { LngLatBoundsLike } from './geo/lng_lat_bounds';
|
||||||
|
import Point, { PointLike } from './geo/point';
|
||||||
import Transform from './geo/transform';
|
import Transform from './geo/transform';
|
||||||
import { Event } from './handler/events/event';
|
import { Event } from './handler/events/event';
|
||||||
import { IMapOptions } from './interface';
|
import { IMapOptions } from './interface';
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
// @ts-ignore
|
// @ts-ignore
|
||||||
import Point from '@mapbox/point-geometry';
|
|
||||||
import { clamp, interpolate } from '../util';
|
import { clamp, interpolate } from '../util';
|
||||||
|
import Point from './point';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* An `EdgeInset` object represents screen space padding applied to the edges of the viewport.
|
* An `EdgeInset` object represents screen space padding applied to the edges of the viewport.
|
||||||
|
|
|
@ -0,0 +1,183 @@
|
||||||
|
export type PointLike = [number, number] | Point;
|
||||||
|
|
||||||
|
export default class Point {
|
||||||
|
public static convert(a: any) {
|
||||||
|
if (a instanceof Point) {
|
||||||
|
return a;
|
||||||
|
}
|
||||||
|
if (Array.isArray(a)) {
|
||||||
|
return new Point(a[0], a[1]);
|
||||||
|
}
|
||||||
|
return a;
|
||||||
|
}
|
||||||
|
public x: number;
|
||||||
|
public y: number;
|
||||||
|
|
||||||
|
constructor(x: number, y: number) {
|
||||||
|
this.x = x;
|
||||||
|
this.y = y;
|
||||||
|
}
|
||||||
|
|
||||||
|
public clone() {
|
||||||
|
return new Point(this.x, this.y);
|
||||||
|
}
|
||||||
|
|
||||||
|
public _add(p: Point) {
|
||||||
|
this.x += p.x;
|
||||||
|
this.y += p.y;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public add(p: Point) {
|
||||||
|
return this.clone()._add(p);
|
||||||
|
}
|
||||||
|
|
||||||
|
public _sub(p: Point) {
|
||||||
|
this.x -= p.x;
|
||||||
|
this.y -= p.y;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
public sub(p: Point) {
|
||||||
|
return this.clone()._sub(p);
|
||||||
|
}
|
||||||
|
|
||||||
|
public _multByPoint(p: Point) {
|
||||||
|
this.x *= p.x;
|
||||||
|
this.y *= p.y;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public multByPoint(p: Point) {
|
||||||
|
return this.clone()._multByPoint(p);
|
||||||
|
}
|
||||||
|
|
||||||
|
public _divByPoint(p: Point) {
|
||||||
|
this.x /= p.x;
|
||||||
|
this.y /= p.y;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
public divByPoint(p: Point) {
|
||||||
|
return this.clone()._divByPoint(p);
|
||||||
|
}
|
||||||
|
|
||||||
|
public _mult(k: number) {
|
||||||
|
this.x *= k;
|
||||||
|
this.y *= k;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public mult(k: number) {
|
||||||
|
return this.clone()._mult(k);
|
||||||
|
}
|
||||||
|
|
||||||
|
public _div(k: number) {
|
||||||
|
this.x /= k;
|
||||||
|
this.y /= k;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public div(k: number) {
|
||||||
|
return this.clone()._div(k);
|
||||||
|
}
|
||||||
|
|
||||||
|
public _rotate(angle: number) {
|
||||||
|
const cos = Math.cos(angle);
|
||||||
|
const sin = Math.sin(angle);
|
||||||
|
const x = cos * this.x - sin * this.y;
|
||||||
|
const y = sin * this.x + cos * this.y;
|
||||||
|
this.x = x;
|
||||||
|
this.y = y;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public rotate(angle: number) {
|
||||||
|
return this.clone()._rotate(angle);
|
||||||
|
}
|
||||||
|
|
||||||
|
public _rotateAround(angle: number, p: Point) {
|
||||||
|
const cos = Math.cos(angle);
|
||||||
|
const sin = Math.sin(angle);
|
||||||
|
const x = p.x + cos * (this.x - p.x) - sin * (this.y - p.y);
|
||||||
|
const y = p.y + sin * (this.x - p.x) + cos * (this.y - p.y);
|
||||||
|
this.x = x;
|
||||||
|
this.y = y;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
public roateAround(angle: number, p: Point) {
|
||||||
|
return this.clone()._rotateAround(angle, p);
|
||||||
|
}
|
||||||
|
|
||||||
|
public _matMult(m: number[]) {
|
||||||
|
const x = m[0] * this.x + m[1] * this.y;
|
||||||
|
const y = m[2] * this.x + m[3] * this.y;
|
||||||
|
this.x = x;
|
||||||
|
this.y = y;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public matMult(m: number[]) {
|
||||||
|
return this.clone()._matMult(m);
|
||||||
|
}
|
||||||
|
|
||||||
|
public _unit() {
|
||||||
|
this.div(this.mag());
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
public unit() {
|
||||||
|
return this.clone()._unit();
|
||||||
|
}
|
||||||
|
|
||||||
|
public _perp() {
|
||||||
|
const y = this.y;
|
||||||
|
this.y = this.x;
|
||||||
|
this.x = -y;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
public perp() {
|
||||||
|
return this.clone()._perp();
|
||||||
|
}
|
||||||
|
|
||||||
|
public _round() {
|
||||||
|
this.x = Math.round(this.x);
|
||||||
|
this.y = Math.round(this.y);
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public round() {
|
||||||
|
return this.clone()._round();
|
||||||
|
}
|
||||||
|
|
||||||
|
public mag() {
|
||||||
|
return Math.sqrt(this.x * this.x + this.y * this.y);
|
||||||
|
}
|
||||||
|
|
||||||
|
public equals(other: Point) {
|
||||||
|
return this.x === other.x && this.y === other.y;
|
||||||
|
}
|
||||||
|
|
||||||
|
public dist(p: Point) {
|
||||||
|
return Math.sqrt(this.distSqr(p));
|
||||||
|
}
|
||||||
|
|
||||||
|
public distSqr(p: Point) {
|
||||||
|
const dx = p.x - this.x;
|
||||||
|
const dy = p.y - this.y;
|
||||||
|
return dx * dx + dy * dy;
|
||||||
|
}
|
||||||
|
|
||||||
|
public angle() {
|
||||||
|
return Math.atan2(this.y, this.x);
|
||||||
|
}
|
||||||
|
|
||||||
|
public angleTo(b: Point) {
|
||||||
|
return Math.atan2(this.y - b.y, this.x - b.x);
|
||||||
|
}
|
||||||
|
|
||||||
|
public angleWith(b: Point) {
|
||||||
|
return this.angleWithSep(b.x, b.y);
|
||||||
|
}
|
||||||
|
|
||||||
|
public angleWithSep(x: number, y: number) {
|
||||||
|
return Math.atan2(this.x * y - this.y * x, this.x * x + this.y * y);
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,6 +1,6 @@
|
||||||
// @ts-ignore
|
// @ts-ignore
|
||||||
import Point from '@mapbox/point-geometry';
|
|
||||||
import { mat2, mat4, vec3, vec4 } from 'gl-matrix';
|
import { mat2, mat4, vec3, vec4 } from 'gl-matrix';
|
||||||
|
import Point, { PointLike } from '../geo/point';
|
||||||
import { clamp, interpolate, wrap } from '../util';
|
import { clamp, interpolate, wrap } from '../util';
|
||||||
import Aabb from '../utils/Aabb';
|
import Aabb from '../utils/Aabb';
|
||||||
import Frustum from '../utils/primitives';
|
import Frustum from '../utils/primitives';
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
// @ts-ignore
|
// @ts-ignore
|
||||||
import Point from '@mapbox/point-geometry';
|
import Point from '../geo/point';
|
||||||
import { Map } from '../map';
|
import { Map } from '../map';
|
||||||
export interface IHandlerResult {
|
export interface IHandlerResult {
|
||||||
panDelta?: Point;
|
panDelta?: Point;
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
// @ts-ignore
|
// @ts-ignore
|
||||||
import Point from '@mapbox/point-geometry';
|
import Point from '../geo/point';
|
||||||
import { Map } from '../map';
|
import { Map } from '../map';
|
||||||
import { MapMouseEvent, MapTouchEvent, MapWheelEvent } from './events';
|
import { MapMouseEvent, MapTouchEvent, MapWheelEvent } from './events';
|
||||||
export default class BlockableMapEventHandler {
|
export default class BlockableMapEventHandler {
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
// @ts-ignore
|
// @ts-ignore
|
||||||
import Point from '@mapbox/point-geometry';
|
import Point from '../geo/point';
|
||||||
import { Map } from '../map';
|
import { Map } from '../map';
|
||||||
import DOM from '../utils/dom';
|
import DOM from '../utils/dom';
|
||||||
import { Event } from './events/event';
|
import { Event } from './events/event';
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
// @ts-ignore
|
// @ts-ignore
|
||||||
import Point from '@mapbox/point-geometry';
|
import Point from '../geo/point';
|
||||||
import { Map } from '../map';
|
import { Map } from '../map';
|
||||||
|
|
||||||
export default class ClickZoomHandler {
|
export default class ClickZoomHandler {
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
// @ts-ignore
|
// @ts-ignore
|
||||||
import Point from '@mapbox/point-geometry';
|
|
||||||
// tslint:disable-next-line:no-submodule-imports
|
// tslint:disable-next-line:no-submodule-imports
|
||||||
import merge from 'lodash/merge';
|
import merge from 'lodash/merge';
|
||||||
import LngLat from '../../geo/lng_lat';
|
import LngLat from '../../geo/lng_lat';
|
||||||
|
import Point from '../../geo/point';
|
||||||
import { Map } from '../../map';
|
import { Map } from '../../map';
|
||||||
import DOM from '../../utils/dom';
|
import DOM from '../../utils/dom';
|
||||||
import { Event } from './event';
|
import { Event } from './event';
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
// @ts-ignore
|
// @ts-ignore
|
||||||
import Point from '@mapbox/point-geometry';
|
|
||||||
import LngLat from '../../geo/lng_lat';
|
import LngLat from '../../geo/lng_lat';
|
||||||
|
import Point from '../../geo/point';
|
||||||
import { Map } from '../../map';
|
import { Map } from '../../map';
|
||||||
import DOM from '../../utils/dom';
|
import DOM from '../../utils/dom';
|
||||||
import { Event } from './event';
|
import { Event } from './event';
|
||||||
|
@ -61,7 +61,7 @@ export default class MapTouchEvent extends Event {
|
||||||
const points = DOM.touchPos(map.getCanvasContainer(), touches);
|
const points = DOM.touchPos(map.getCanvasContainer(), touches);
|
||||||
const lngLats = points.map((t: Point) => map.unproject(t));
|
const lngLats = points.map((t: Point) => map.unproject(t));
|
||||||
const point = points.reduce(
|
const point = points.reduce(
|
||||||
(prev: Point, curr: Point, i: number, arr: Point) => {
|
(prev: Point, curr: Point, i: number, arr: Point[]) => {
|
||||||
return prev.add(curr.div(arr.length));
|
return prev.add(curr.div(arr.length));
|
||||||
},
|
},
|
||||||
new Point(0, 0),
|
new Point(0, 0),
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
// @ts-ignore
|
// @ts-ignore
|
||||||
import Point from '@mapbox/point-geometry';
|
import Point from '../geo/point';
|
||||||
|
|
||||||
// tslint:disable-next-line:no-submodule-imports
|
// tslint:disable-next-line:no-submodule-imports
|
||||||
import merge from 'lodash/merge';
|
import merge from 'lodash/merge';
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
// @ts-ignore
|
// @ts-ignore
|
||||||
import Point from '@mapbox/point-geometry';
|
|
||||||
// tslint:disable-next-line: no-submodule-imports
|
// tslint:disable-next-line: no-submodule-imports
|
||||||
import merge from 'lodash/merge';
|
import merge from 'lodash/merge';
|
||||||
|
import Point from '../geo/point';
|
||||||
import { Map } from '../map';
|
import { Map } from '../map';
|
||||||
import DOM from '../utils/dom';
|
import DOM from '../utils/dom';
|
||||||
import BlockableMapEventHandler from './blockable_map_event';
|
import BlockableMapEventHandler from './blockable_map_event';
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
// @ts-ignore
|
// @ts-ignore
|
||||||
import Point from '@mapbox/point-geometry';
|
import Point from '../geo/point';
|
||||||
|
|
||||||
export function indexTouches(touches: Touch[], points: Point[]) {
|
export function indexTouches(touches: Touch[], points: Point[]) {
|
||||||
const obj: { [key: string]: any } = {};
|
const obj: { [key: string]: any } = {};
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
// @ts-ignore
|
// @ts-ignore
|
||||||
import Point from '@mapbox/point-geometry';
|
import Point from '../geo/point';
|
||||||
import { Map } from '../map';
|
import { Map } from '../map';
|
||||||
import { MapMouseEvent, MapTouchEvent, MapWheelEvent } from './events';
|
import { MapMouseEvent, MapTouchEvent, MapWheelEvent } from './events';
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
// @ts-ignore
|
// @ts-ignore
|
||||||
import Point from '@mapbox/point-geometry';
|
import Point from '../../geo/point';
|
||||||
import DOM from '../../utils/dom';
|
import DOM from '../../utils/dom';
|
||||||
import { buttonStillPressed } from './util';
|
import { buttonStillPressed } from './util';
|
||||||
export default class MouseHandler {
|
export default class MouseHandler {
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
// @ts-ignore
|
// @ts-ignore
|
||||||
import Point from '@mapbox/point-geometry';
|
import Point from '../../geo/point';
|
||||||
import DOM from '../../utils/dom';
|
import DOM from '../../utils/dom';
|
||||||
import MouseHandler from './mouse_handler';
|
import MouseHandler from './mouse_handler';
|
||||||
import { buttonStillPressed, LEFT_BUTTON } from './util';
|
import { buttonStillPressed, LEFT_BUTTON } from './util';
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
// @ts-ignore
|
// @ts-ignore
|
||||||
import Point from '@mapbox/point-geometry';
|
import Point from '../../geo/point';
|
||||||
import MouseHandler from './mouse_handler';
|
import MouseHandler from './mouse_handler';
|
||||||
import { LEFT_BUTTON, RIGHT_BUTTON } from './util';
|
import { LEFT_BUTTON, RIGHT_BUTTON } from './util';
|
||||||
export default class MousePitchHandler extends MouseHandler {
|
export default class MousePitchHandler extends MouseHandler {
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
// @ts-ignore
|
// @ts-ignore
|
||||||
import Point from '@mapbox/point-geometry';
|
import Point from '../../geo/point';
|
||||||
import MouseHandler from './mouse_handler';
|
import MouseHandler from './mouse_handler';
|
||||||
import { LEFT_BUTTON, RIGHT_BUTTON } from './util';
|
import { LEFT_BUTTON, RIGHT_BUTTON } from './util';
|
||||||
export default class MouseRotateHandler extends MouseHandler {
|
export default class MouseRotateHandler extends MouseHandler {
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
// @ts-ignore
|
// @ts-ignore
|
||||||
import Point from '@mapbox/point-geometry';
|
|
||||||
import LngLat from '../geo/lng_lat';
|
import LngLat from '../geo/lng_lat';
|
||||||
|
import Point from '../geo/point';
|
||||||
import { Map } from '../map';
|
import { Map } from '../map';
|
||||||
import { bezier, ease, interpolate, now } from '../util';
|
import { bezier, ease, interpolate, now } from '../util';
|
||||||
import DOM from '../utils/dom';
|
import DOM from '../utils/dom';
|
||||||
|
@ -28,7 +28,7 @@ class ScrollZoomHandler {
|
||||||
private active: boolean;
|
private active: boolean;
|
||||||
private zooming: boolean;
|
private zooming: boolean;
|
||||||
private aroundCenter: boolean;
|
private aroundCenter: boolean;
|
||||||
private around: Point;
|
private around: LngLat;
|
||||||
private aroundPoint: Point;
|
private aroundPoint: Point;
|
||||||
private type: 'wheel' | 'trackpad' | null;
|
private type: 'wheel' | 'trackpad' | null;
|
||||||
private lastValue: number;
|
private lastValue: number;
|
||||||
|
@ -169,6 +169,7 @@ class ScrollZoomHandler {
|
||||||
this.lastValue = value;
|
this.lastValue = value;
|
||||||
|
|
||||||
// Start a timeout in case this was a singular event, and dely it by up to 40ms.
|
// Start a timeout in case this was a singular event, and dely it by up to 40ms.
|
||||||
|
// @ts-ignore
|
||||||
this.timeout = setTimeout(this.onTimeout, 40, e);
|
this.timeout = setTimeout(this.onTimeout, 40, e);
|
||||||
} else if (!this.type) {
|
} else if (!this.type) {
|
||||||
// This is a repeating event, but we don't know the type of event just yet.
|
// This is a repeating event, but we don't know the type of event just yet.
|
||||||
|
@ -282,6 +283,7 @@ class ScrollZoomHandler {
|
||||||
|
|
||||||
if (finished) {
|
if (finished) {
|
||||||
this.active = false;
|
this.active = false;
|
||||||
|
// @ts-ignore
|
||||||
this.finishTimeout = setTimeout(() => {
|
this.finishTimeout = setTimeout(() => {
|
||||||
this.zooming = false;
|
this.zooming = false;
|
||||||
this.handler.triggerRenderFrame();
|
this.handler.triggerRenderFrame();
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
// @ts-ignore
|
// @ts-ignore
|
||||||
import Point from '@mapbox/point-geometry';
|
import Point from '../../geo/point';
|
||||||
import { indexTouches } from '../handler_util';
|
import { indexTouches } from '../handler_util';
|
||||||
|
|
||||||
function getCentroid(points: Point[]) {
|
function getCentroid(points: Point[]) {
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
// @ts-ignore
|
// @ts-ignore
|
||||||
import Point from '@mapbox/point-geometry';
|
import Point from '../../geo/point';
|
||||||
import { MAX_TAP_INTERVAL } from './single_tap_recognizer';
|
import { MAX_TAP_INTERVAL } from './single_tap_recognizer';
|
||||||
import TapRecognizer from './tap_recognizer';
|
import TapRecognizer from './tap_recognizer';
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
// @ts-ignore
|
// @ts-ignore
|
||||||
import Point from '@mapbox/point-geometry';
|
import Point from '../../geo/point';
|
||||||
import SingleTapRecognizer, {
|
import SingleTapRecognizer, {
|
||||||
MAX_DIST,
|
MAX_DIST,
|
||||||
MAX_TAP_INTERVAL,
|
MAX_TAP_INTERVAL,
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
// @ts-ignore
|
// @ts-ignore
|
||||||
import Point from '@mapbox/point-geometry';
|
import Point from '../../geo/point';
|
||||||
import { Map } from '../../map';
|
import { Map } from '../../map';
|
||||||
import TapRecognizer from './tap_recognizer';
|
import TapRecognizer from './tap_recognizer';
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
// @ts-ignore
|
// @ts-ignore
|
||||||
import Point from '@mapbox/point-geometry';
|
import Point from '../../geo/point';
|
||||||
import { indexTouches } from '../handler_util';
|
import { indexTouches } from '../handler_util';
|
||||||
|
|
||||||
export default class TouchPanHandler {
|
export default class TouchPanHandler {
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
// @ts-ignore
|
// @ts-ignore
|
||||||
import Point from '@mapbox/point-geometry';
|
import Point from '../../geo/point';
|
||||||
import TwoTouchHandler from './two_touch';
|
import TwoTouchHandler from './two_touch';
|
||||||
|
|
||||||
function isVertical(vector: { x: number; y: number }) {
|
function isVertical(vector: { x: number; y: number }) {
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
// @ts-ignore
|
// @ts-ignore
|
||||||
import Point from '@mapbox/point-geometry';
|
import Point from '../../geo/point';
|
||||||
import DOM from '../../utils/dom';
|
import DOM from '../../utils/dom';
|
||||||
import TwoTouchHandler from './two_touch';
|
import TwoTouchHandler from './two_touch';
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
// @ts-ignore
|
// @ts-ignore
|
||||||
import Point from '@mapbox/point-geometry';
|
import Point from '../../geo/point';
|
||||||
import DOM from '../../utils/dom';
|
import DOM from '../../utils/dom';
|
||||||
import TwoTouchHandler from './two_touch';
|
import TwoTouchHandler from './two_touch';
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
// @ts-ignore
|
// @ts-ignore
|
||||||
import Point from '@mapbox/point-geometry';
|
import Point from '../../geo/point';
|
||||||
import DOM from '../../utils/dom';
|
import DOM from '../../utils/dom';
|
||||||
|
|
||||||
export default class TwoTouchHandler {
|
export default class TwoTouchHandler {
|
||||||
|
@ -21,7 +21,11 @@ export default class TwoTouchHandler {
|
||||||
public start(points: [Point, Point]) {
|
public start(points: [Point, Point]) {
|
||||||
return;
|
return;
|
||||||
} // eslint-disable-line
|
} // eslint-disable-line
|
||||||
public move(points: [Point, Point], pinchAround: Point, e: TouchEvent) {
|
public move(
|
||||||
|
points: [Point, Point],
|
||||||
|
pinchAround: Point | null,
|
||||||
|
e: TouchEvent,
|
||||||
|
) {
|
||||||
return;
|
return;
|
||||||
} // eslint-disable-line
|
} // eslint-disable-line
|
||||||
|
|
||||||
|
|
|
@ -1,11 +1,11 @@
|
||||||
import { DOM } from '@antv/l7-utils';
|
import { DOM } from '@antv/l7-utils';
|
||||||
// @ts-ignore
|
|
||||||
import Point, { PointLike } from '@mapbox/point-geometry';
|
|
||||||
import { merge } from 'lodash';
|
import { merge } from 'lodash';
|
||||||
import Camera from './camera';
|
import Camera from './camera';
|
||||||
import './css/l7.css';
|
import './css/l7.css';
|
||||||
import LngLat, { LngLatLike } from './geo/lng_lat';
|
import LngLat, { LngLatLike } from './geo/lng_lat';
|
||||||
import LngLatBounds, { LngLatBoundsLike } from './geo/lng_lat_bounds';
|
import LngLatBounds, { LngLatBoundsLike } from './geo/lng_lat_bounds';
|
||||||
|
// @ts-ignore
|
||||||
|
import Point, { PointLike } from './geo/point';
|
||||||
import BoxZoomHandler from './handler/box_zoom';
|
import BoxZoomHandler from './handler/box_zoom';
|
||||||
import HandlerManager from './handler/handler_manager';
|
import HandlerManager from './handler/handler_manager';
|
||||||
import KeyboardHandler from './handler/keyboard';
|
import KeyboardHandler from './handler/keyboard';
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
// @ts-ignore
|
// @ts-ignore
|
||||||
import Point from '@mapbox/point-geometry';
|
import Point from '../geo/point';
|
||||||
|
|
||||||
const DOM: {
|
const DOM: {
|
||||||
[key: string]: (...arg: any[]) => any;
|
[key: string]: (...arg: any[]) => any;
|
||||||
|
|
|
@ -3,7 +3,10 @@
|
||||||
"compilerOptions": {
|
"compilerOptions": {
|
||||||
"declarationDir": "./es",
|
"declarationDir": "./es",
|
||||||
"rootDir": "./src",
|
"rootDir": "./src",
|
||||||
"baseUrl": "./"
|
"baseUrl": "./",
|
||||||
|
"paths": {
|
||||||
|
"*": ["node_modules", "typings/*"]
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"include": ["./src"]
|
"include": ["./src"]
|
||||||
}
|
}
|
||||||
|
|
100
yarn.lock
100
yarn.lock
|
@ -5980,56 +5980,6 @@ ansicolors@~0.2.1:
|
||||||
resolved "https://registry.npmjs.org/ansicolors/-/ansicolors-0.2.1.tgz#be089599097b74a5c9c4a84a0cdbcdb62bd87aef"
|
resolved "https://registry.npmjs.org/ansicolors/-/ansicolors-0.2.1.tgz#be089599097b74a5c9c4a84a0cdbcdb62bd87aef"
|
||||||
integrity sha1-vgiVmQl7dKXJxKhKDNvNtivYeu8=
|
integrity sha1-vgiVmQl7dKXJxKhKDNvNtivYeu8=
|
||||||
|
|
||||||
antd@4.2.5, antd@^4.2.4:
|
|
||||||
version "4.2.5"
|
|
||||||
resolved "https://registry.npmjs.org/antd/-/antd-4.2.5.tgz#5f68fa9282e49306b8c8d44304321d9b979772d7"
|
|
||||||
integrity sha512-8rKCvik1gbru/nzodt+21r6ksWP9VPUfC74dhTLlRA1bY+7+ZZCS87+ikbAIARQRTh88LOe6nOxn5+3rJ3yOZA==
|
|
||||||
dependencies:
|
|
||||||
"@ant-design/css-animation" "^1.7.2"
|
|
||||||
"@ant-design/icons" "^4.1.0"
|
|
||||||
"@ant-design/react-slick" "~0.26.1"
|
|
||||||
array-tree-filter "^2.1.0"
|
|
||||||
classnames "~2.2.6"
|
|
||||||
copy-to-clipboard "^3.2.0"
|
|
||||||
lodash "^4.17.13"
|
|
||||||
moment "^2.25.3"
|
|
||||||
omit.js "^1.0.2"
|
|
||||||
prop-types "^15.7.2"
|
|
||||||
raf "^3.4.1"
|
|
||||||
rc-animate "~3.0.0"
|
|
||||||
rc-cascader "~1.1.0"
|
|
||||||
rc-checkbox "~2.2.0"
|
|
||||||
rc-collapse "~2.0.0"
|
|
||||||
rc-dialog "~7.7.0"
|
|
||||||
rc-drawer "~3.2.0"
|
|
||||||
rc-dropdown "~3.0.0"
|
|
||||||
rc-field-form "~1.2.0"
|
|
||||||
rc-input-number "~4.6.1"
|
|
||||||
rc-mentions "~1.1.0"
|
|
||||||
rc-menu "~8.2.1"
|
|
||||||
rc-notification "~4.3.0"
|
|
||||||
rc-pagination "~2.2.0"
|
|
||||||
rc-picker "~1.4.16"
|
|
||||||
rc-progress "~3.0.0"
|
|
||||||
rc-rate "~2.6.0"
|
|
||||||
rc-resize-observer "^0.2.0"
|
|
||||||
rc-select "~10.3.5"
|
|
||||||
rc-slider "~9.2.3"
|
|
||||||
rc-steps "~3.6.0"
|
|
||||||
rc-switch "~3.1.0"
|
|
||||||
rc-table "~7.5.3"
|
|
||||||
rc-tabs "~10.1.1"
|
|
||||||
rc-tooltip "~4.0.2"
|
|
||||||
rc-tree "~3.2.0"
|
|
||||||
rc-tree-select "~3.1.0"
|
|
||||||
rc-trigger "~4.1.0"
|
|
||||||
rc-upload "~3.0.4"
|
|
||||||
rc-util "^4.20.0"
|
|
||||||
rc-virtual-list "^1.1.0"
|
|
||||||
resize-observer-polyfill "^1.5.1"
|
|
||||||
scroll-into-view-if-needed "^2.2.20"
|
|
||||||
warning "~4.0.3"
|
|
||||||
|
|
||||||
antd@^4.0.0:
|
antd@^4.0.0:
|
||||||
version "4.2.4"
|
version "4.2.4"
|
||||||
resolved "https://registry.npmjs.org/antd/-/antd-4.2.4.tgz#0a75e178643858960189912b8fe48bf7e8f6abf8"
|
resolved "https://registry.npmjs.org/antd/-/antd-4.2.4.tgz#0a75e178643858960189912b8fe48bf7e8f6abf8"
|
||||||
|
@ -6080,6 +6030,56 @@ antd@^4.0.0:
|
||||||
scroll-into-view-if-needed "^2.2.20"
|
scroll-into-view-if-needed "^2.2.20"
|
||||||
warning "~4.0.3"
|
warning "~4.0.3"
|
||||||
|
|
||||||
|
antd@^4.2.4:
|
||||||
|
version "4.2.5"
|
||||||
|
resolved "https://registry.npmjs.org/antd/-/antd-4.2.5.tgz#5f68fa9282e49306b8c8d44304321d9b979772d7"
|
||||||
|
integrity sha512-8rKCvik1gbru/nzodt+21r6ksWP9VPUfC74dhTLlRA1bY+7+ZZCS87+ikbAIARQRTh88LOe6nOxn5+3rJ3yOZA==
|
||||||
|
dependencies:
|
||||||
|
"@ant-design/css-animation" "^1.7.2"
|
||||||
|
"@ant-design/icons" "^4.1.0"
|
||||||
|
"@ant-design/react-slick" "~0.26.1"
|
||||||
|
array-tree-filter "^2.1.0"
|
||||||
|
classnames "~2.2.6"
|
||||||
|
copy-to-clipboard "^3.2.0"
|
||||||
|
lodash "^4.17.13"
|
||||||
|
moment "^2.25.3"
|
||||||
|
omit.js "^1.0.2"
|
||||||
|
prop-types "^15.7.2"
|
||||||
|
raf "^3.4.1"
|
||||||
|
rc-animate "~3.0.0"
|
||||||
|
rc-cascader "~1.1.0"
|
||||||
|
rc-checkbox "~2.2.0"
|
||||||
|
rc-collapse "~2.0.0"
|
||||||
|
rc-dialog "~7.7.0"
|
||||||
|
rc-drawer "~3.2.0"
|
||||||
|
rc-dropdown "~3.0.0"
|
||||||
|
rc-field-form "~1.2.0"
|
||||||
|
rc-input-number "~4.6.1"
|
||||||
|
rc-mentions "~1.1.0"
|
||||||
|
rc-menu "~8.2.1"
|
||||||
|
rc-notification "~4.3.0"
|
||||||
|
rc-pagination "~2.2.0"
|
||||||
|
rc-picker "~1.4.16"
|
||||||
|
rc-progress "~3.0.0"
|
||||||
|
rc-rate "~2.6.0"
|
||||||
|
rc-resize-observer "^0.2.0"
|
||||||
|
rc-select "~10.3.5"
|
||||||
|
rc-slider "~9.2.3"
|
||||||
|
rc-steps "~3.6.0"
|
||||||
|
rc-switch "~3.1.0"
|
||||||
|
rc-table "~7.5.3"
|
||||||
|
rc-tabs "~10.1.1"
|
||||||
|
rc-tooltip "~4.0.2"
|
||||||
|
rc-tree "~3.2.0"
|
||||||
|
rc-tree-select "~3.1.0"
|
||||||
|
rc-trigger "~4.1.0"
|
||||||
|
rc-upload "~3.0.4"
|
||||||
|
rc-util "^4.20.0"
|
||||||
|
rc-virtual-list "^1.1.0"
|
||||||
|
resize-observer-polyfill "^1.5.1"
|
||||||
|
scroll-into-view-if-needed "^2.2.20"
|
||||||
|
warning "~4.0.3"
|
||||||
|
|
||||||
any-observable@^0.3.0:
|
any-observable@^0.3.0:
|
||||||
version "0.3.0"
|
version "0.3.0"
|
||||||
resolved "https://registry.npmjs.org/any-observable/-/any-observable-0.3.0.tgz#af933475e5806a67d0d7df090dd5e8bef65d119b"
|
resolved "https://registry.npmjs.org/any-observable/-/any-observable-0.3.0.tgz#af933475e5806a67d0d7df090dd5e8bef65d119b"
|
||||||
|
|
Loading…
Reference in New Issue