@cesium/engine
Version:
CesiumJS is a JavaScript library for creating 3D globes and 2D maps in a web browser without a plugin.
51 lines (48 loc) • 1.77 kB
JavaScript
import CesiumTerrainProvider from "./CesiumTerrainProvider.js";
import Frozen from "./Frozen.js";
import Ellipsoid from "./Ellipsoid.js";
/**
* Creates a {@link CesiumTerrainProvider} instance for the {@link https://cesium.com/content/#cesium-world-terrain|Cesium World Terrain}.
*
* @function
*
* @param {object} [options] Object with the following properties:
* @param {boolean} [options.requestVertexNormals=false] Flag that indicates if the client should request additional lighting information from the server if available.
* @param {boolean} [options.requestWaterMask=false] Flag that indicates if the client should request per tile water masks from the server if available.
* @returns {Promise<CesiumTerrainProvider>} A promise that resolves to the created CesiumTerrainProvider
*
* @see Ion
*
* @example
* // Create Cesium World Terrain with default settings
* try {
* const viewer = new Cesium.Viewer("cesiumContainer", {
* terrainProvider: await Cesium.createWorldTerrainAsync();
* });
* } catch (error) {
* console.log(error);
* }
*
* @example
* // Create Cesium World Terrain with water and normals.
* try {
* const viewer1 = new Cesium.Viewer("cesiumContainer", {
* terrainProvider: await Cesium.createWorldTerrainAsync({
* requestWaterMask: true,
* requestVertexNormals: true
* });
* });
* } catch (error) {
* console.log(error);
* }
*
*/
function createWorldTerrainAsync(options) {
options = options ?? Frozen.EMPTY_OBJECT;
return CesiumTerrainProvider.fromIonAssetId(1, {
requestVertexNormals: options.requestVertexNormals ?? false,
requestWaterMask: options.requestWaterMask ?? false,
ellipsoid: Ellipsoid.WGS84,
});
}
export default createWorldTerrainAsync;