urbi-exhibitions
Version:
120 lines (119 loc) • 3.55 kB
TypeScript
import { Map } from '@2gis/mapgl/types';
import { Easing } from '@2gis/mapgl/types/types/animations';
import { BuildingOptions } from '../types';
export interface FlightPart {
duration?: number;
center?: number[];
traveledDistance?: number;
centerEasing?: Easing;
zoom?: number;
zoomEasing?: Easing;
styleZoom?: number;
styleZoomEasing?: Easing;
pitch?: number;
pitchEasing?: Easing;
rotation?: number;
rotationNormalize?: boolean;
rotationDuration?: number;
rotationEasing?: Easing | 'easeInSine' | 'easeOutSine';
f?: () => void;
waitIdle?: boolean;
incremental?: boolean;
}
export interface BuildingFlightOption {
zoomInOutTime: number;
defaultRotationDuration: number;
defaultZoom: number;
defaultPitch: number;
step: number;
}
interface MapFlightOptions {
zoom: number;
maxZoom: number;
minZoom: number;
center: number[];
pitch: number;
rotation: number;
baseDuration?: number;
maxZoomDuration?: number;
buildingFlightOption?: BuildingFlightOption;
}
export declare class MapFlight {
zoom: number;
maxZoom: number;
minZoom: number;
center: number[];
pitch: number;
rotation: number;
baseDuration: number;
maxZoomDuration: number;
zoomAmplitude: number;
buildingFlightOption: BuildingFlightOption;
flightId: number;
activeFlightMap: {
[id: number]: boolean;
};
constructor({ zoom, maxZoom, minZoom, center, pitch, rotation, baseDuration, maxZoomDuration, buildingFlightOption, }: MapFlightOptions);
getInitialMapOptions(): {
zoom: number;
maxZoom: number;
minZoom: number;
center: number[];
pitch: number;
rotation: number;
};
private getFlightId;
private waitIdle;
private sleep;
abortFlights(): void;
runFlight(map: Map, scenario: FlightPart[], logParts?: boolean): Promise<void>;
getBuildingBaseFlight({ center, styleZoom, pitch, ...rest }: {
center: number[];
styleZoom?: number;
pitch?: number;
rotationDuration?: number;
}): FlightPart[];
runBuildingFlight(map: Map, opts: {
center: number[];
styleZoom?: number;
pitch?: number;
rotationDuration?: number;
}, f?: () => void): Promise<void>;
flyToOpts(map: Map, opts?: {
duration?: number;
center?: number[];
zoom?: number;
styleZoom?: number;
pitch?: number;
rotation?: number;
easing?: Easing;
}, f?: () => void): Promise<void>;
private getZoomParams;
getZoomPart({ from, to, }: {
from?: number;
to?: number;
}): FlightPart;
getMoveCenterOnMaxZoomPart(center?: number[]): FlightPart;
getMoveCenter(map: Map, { to, ...rest }: {
to?: number[];
from?: number[];
}): FlightPart;
getZoomToOpts({ from, opts, }: {
from?: number;
opts?: BuildingOptions['mapOptions'];
}): FlightPart;
resetMapRestrictions(map: Map): void;
getLineFlight(line: number[][], { speed, distanceLimit, restrictRotationDuration, logResult, cb, }: {
speed?: number;
distanceLimit?: number;
restrictRotationDuration?: boolean;
logResult?: boolean;
cb?: (traveledDistance?: number) => void;
}): {
flight: FlightPart[];
speed: number;
distance: number;
};
getMidpoint(firstPoint: number[], secondPoint: number[]): import('geojson').Position;
}
export {};