itowns
Version:
A JS/WebGL framework for 3D geospatial data visualization
66 lines (65 loc) • 2.85 kB
TypeScript
export namespace GLOBE_VIEW_EVENTS {
let GLOBE_INITIALIZED: string;
let LAYER_ADDED: string;
let LAYER_REMOVED: string;
let COLOR_LAYERS_ORDER_CHANGED: string;
}
export default GlobeView;
declare class GlobeView extends View {
/**
* Creates a view of a globe.
*
* @extends View
*
* @example <caption><b>Instance GlobeView.</b></caption>
* var viewerDiv = document.getElementById('viewerDiv');
* const placement = {
* coord: new itowns.Coordinates('EPSG:4326', 2.351323, 48.856712),
* range: 25000000,
* }
* var view = new itowns.GlobeView(viewerDiv, placement);
*
* @param {HTMLDivElement} viewerDiv - Where to attach the view and display it
* in the DOM.
* @param {CameraTransformOptions|Extent} placement - An object to place view
* @param {object} [options] - See options of {@link View}.
* @param {Object} [options.controls] - See options of {@link GlobeControls}
* @param {Object} [options.webXR] - WebXR configuration - its presence alone
* enable WebXR to switch on VR visualization. (optional).
* @param {function} [options.webXR.callback] - WebXR rendering callback (optional).
* @param {boolean} [options.webXR.controllers] - Enable the webXR controllers handling (optional).
*/
constructor(viewerDiv: HTMLDivElement, placement?: CameraTransformOptions | Extent, options?: {
controls?: Object | undefined;
webXR?: {
callback?: Function | undefined;
controllers?: boolean | undefined;
} | undefined;
});
isGlobeView: boolean;
tileLayer: GlobeLayer;
controls: GlobeControls | undefined;
webXR: WebXR | undefined;
/**
* Add layer in viewer.
* The layer id must be unique.
*
* The `layer.whenReady` is a promise that resolves when
* the layer is done. This promise is also returned by
* `addLayer` allowing to chain call.
*
* The layer added is attached, by default to `GlobeLayer` (`GlobeView.tileLayer`).
* If you want add a unattached layer use `View#addLayer` parent method.
*
* @param {LayerOptions|Layer|GeometryLayer} layer The layer to add in view.
* @return {Promise} a promise resolved with the new layer object when it is fully initialized or rejected if any error occurred.
*/
addLayer(layer: LayerOptions | Layer | GeometryLayer): Promise<any>;
getPixelsToDegrees(pixels: number | undefined, screenCoord: any): number;
getPixelsToDegreesFromDistance(pixels?: number, distance?: number): number;
getMetersToDegrees(meters?: number): number;
}
import View from '../../Core/View';
import GlobeLayer from '../../Core/Prefab/Globe/GlobeLayer';
import GlobeControls from '../../Controls/GlobeControls';
import WebXR from '../../Renderer/WebXR';