@loaders.gl/tiles
Version:
Common components for different tiles loaders.
37 lines (33 loc) • 1.07 kB
text/typescript
import {Vector3} from '@math.gl/core';
export type BoundingRectangle = {
width: number;
height: number;
};
/** Deck.gl Viewport instance type.
* We can't import it from Deck.gl to avoid circular reference */
export type Viewport = {
id: string;
cameraPosition: number[] | Vector3;
height: number;
width: number;
zoom: number;
distanceScales: {
unitsPerMeter: number[];
metersPerUnit: number[];
};
center: number[] | Vector3;
unprojectPosition: (position: number[] | Vector3) => [number, number, number];
project: (coorinates: number[] | Vector3) => number[];
};
/**
* Contain extra fields from WebMercatorViewport and FirstPersonViewport
*/
export type GeospatialViewport = Viewport & {
/** @todo This field is not represented in Deck.gl viewports. Can be removed in the next version */
cameraDirection: [number, number, number];
/** @todo This field is not represented in Deck.gl viewports. Can be removed in the next version */
cameraUp: [number, number, number];
longitude: number;
latitude: number;
bearing: number;
};