@dlr-eoc/map-cesium
Version:
This is a angular module that exports a cesium component that can handle UKIS layers. See @dlr-eoc/services-layers for supported types.
103 lines (102 loc) • 4.89 kB
TypeScript
import { Layer, CustomLayer, TGeoExtent, TFiltertypesUncap, TFiltertypes } from '@dlr-eoc/services-layers';
import { ICesiumControls } from './map-cesium.component';
import { Color, DataSource, ImageryLayer, JulianDate } from '@cesium/engine';
import { Viewer } from '@cesium/widgets';
import { IMapCenter } from '@dlr-eoc/services-map-state';
import * as i0 from "@angular/core";
declare type Tgroupfiltertype = TFiltertypesUncap | TFiltertypes;
export declare class MapCesiumService {
viewer: Viewer;
private baseLayerImageryGroup;
private standardLayerImageryGroup;
private overlayLayerImageryGroup;
private baseLayerDataSourceGroup;
private standardLayerDataSourceGroup;
private overlayLayerDataSourceGroup;
private dataSourceOpacity;
private terrainLayerGroup;
private tilesetLayerGroup;
EPSG: string;
cesiumCurrentTime: JulianDate;
private cesiumTimeInterval;
private viewerOptions;
defaultGlobeColor: Color;
constructor();
setControls(newControls: ICesiumControls): void;
createMap(target: HTMLElement): {
viewer: Viewer;
};
setZoom(zoom: number, notifier?: 'map' | 'user'): void;
getZoom(): number;
setCenter(center: IMapCenter): void;
getCenter(): IMapCenter;
setExtent(extent: TGeoExtent, geographic?: boolean, fitOptions?: any): void;
getCurrentExtent(geographic?: boolean): TGeoExtent;
/**
* Set initial oblique view, see https://cesium.com/learn/cesiumjs/ref-doc/Camera.html
* subtract 90°, to get the same behavior as in openlayers
* options of viewer.camera.flyTo`
*
* https://github.com/CesiumGS/cesium/blob/99d6fffe20d9cf19f2d70de97777dc00a435bc5e/packages/engine/Source/Scene/Camera.js#L1457
* https://github.com/CesiumGS/cesium/blob/99d6fffe20d9cf19f2d70de97777dc00a435bc5e/packages/engine/Source/Scene/Camera.js#L3540-L3541
*/
setViewAngle(viewAngle: number, options?: any): void;
/**
* @param options of viewer.camera.flyTo
*/
setNadirViewAngle(options?: any): void;
getViewAngle(): number;
/**
* subtract rotation degree from 360° to get the same behavior as in openlayers
* options of viewer.camera.flyTo`
*
* https://github.com/CesiumGS/cesium/blob/99d6fffe20d9cf19f2d70de97777dc00a435bc5e/packages/engine/Source/Scene/Camera.js#L3424
* https://github.com/CesiumGS/cesium/blob/99d6fffe20d9cf19f2d70de97777dc00a435bc5e/packages/engine/Source/Scene/Camera.js#L1456
*/
setRotation(rotation: number, options?: any): void;
getRotation(): number;
getAll2DLayersSize(filtertype: Tgroupfiltertype): number;
get2DImageryLayersSize(filtertype: Tgroupfiltertype): number;
getDataSourceLayersSize(filtertype: Tgroupfiltertype): number;
getVisible2DLayersSize(filtertype: Tgroupfiltertype): number;
get3DLayersSize(filtertype: Tgroupfiltertype): number;
getVisible3DLayersSize(filtertype: Tgroupfiltertype): number;
set2DUkisLayers(layers: Array<Layer>, filtertype: Tgroupfiltertype): void;
set3DUkisLayers(layers: Array<Layer>, filtertype: Tgroupfiltertype): void;
private create_2D_layer;
private create_3D_layer;
private create_xyz_layer;
private create_wms_layer;
private create_wmts_layer;
private create_tms_layer;
private create_dataSource_layer;
private create_geojson_layer;
private create_kml_layer;
getLayerById(id: string, filtertype: Tgroupfiltertype): ImageryLayer | DataSource | undefined;
removeAll2DLayers(): void;
remove2DLayers(filtertype: Tgroupfiltertype): void;
remove2DLayer(layerId: string[], filtertype: Tgroupfiltertype): void;
removeAll3DLayers(): void;
remove3DLayers(filtertype: Tgroupfiltertype): void;
remove3DLayer(layerId: string[], filtertype: Tgroupfiltertype): void;
update2DLayerOpacity(layers: Layer[], filtertype: Tgroupfiltertype): void;
update2DLayerVisibility(layers: Layer[], filtertype: Tgroupfiltertype): void;
update2DLayerZIndex(layers: Layer[], filtertype: Tgroupfiltertype): void;
updateDataSourceZIndex(layers: Layer[], filtertype: Tgroupfiltertype): void;
setTerrain(terrainLayer: CustomLayer): void;
setDefaultTerrain(): void;
removeTerrain(): void;
private create_3Dtileset_layer;
private dataCallback;
update3DLayerVisibility(layers: Layer[], filtertype: Tgroupfiltertype): void;
update3DLayerOpacity(layers: Layer[], filtertype: Tgroupfiltertype): void;
initTime(startTime: string): void;
updateTime(newTime: string): void;
setTimeInterval(times: string[]): void;
addIonAccessToken(token: string): void;
addGoogleMapsApiKey(key: string): void;
destroyLayerGrpoups(): void;
static ɵfac: i0.ɵɵFactoryDeclaration<MapCesiumService, never>;
static ɵprov: i0.ɵɵInjectableDeclaration<MapCesiumService>;
}
export {};