UNPKG

terriajs

Version:

Geospatial data visualization platform.

58 lines 1.9 kB
import { runInAction } from "mobx"; var ViewerMode; (function (ViewerMode) { ViewerMode["Cesium"] = "cesium"; ViewerMode["Leaflet"] = "leaflet"; })(ViewerMode || (ViewerMode = {})); export const MapViewers = Object.seal({ "3d": { viewerMode: ViewerMode.Cesium, terrain: true, label: "settingPanel.viewerModeLabels.CesiumTerrain", available: true }, "3dsmooth": { viewerMode: ViewerMode.Cesium, terrain: false, label: "settingPanel.viewerModeLabels.CesiumEllipsoid", available: true }, "2d": { viewerMode: ViewerMode.Leaflet, terrain: false, label: "settingPanel.viewerModeLabels.Leaflet", available: true } }); export const isViewerMode = (mode) => mode in MapViewers; export function setViewerMode(viewerMode, viewer) { runInAction(() => { if (viewerMode === "3d" || viewerMode === "3dsmooth") { viewer.viewerMode = ViewerMode.Cesium; viewer.viewerOptions.useTerrain = viewerMode === "3d"; } else if (viewerMode === "2d") { viewer.viewerMode = ViewerMode.Leaflet; } else { console.error(`Trying to select ViewerMode ${viewerMode} that doesn't exist`); } }); } /** * Returns the viewer type for the given viewer mode * * @param viewerMode 3d, 3dsmooth or 2d */ export function getViewerType(viewerMode) { // Note: // There is small naming ambiguity here // ViewerMode can either mean Leaflet|Cesium|NoViewer or 3d|3dsmooth|2d // The 3d|2d sense of viewermode is used in APIs, for eg to set preference in localStorage // So I think we should rename Leaflet|Cesium... as viewerType instead! if (isViewerMode(viewerMode)) { return MapViewers[viewerMode].viewerMode; } } export default ViewerMode; //# sourceMappingURL=ViewerMode.js.map