cesium1.140以上版本加载地形

1、本地地形加载 使用fromUrl方式
需注意:url写法
"./terrain",错误写法"./terrain/layer.json"或"./terrain/"

const localTerrain = await Cesium.CesiumTerrainProvider.fromUrl("./terrain",{

requestWaterMask: false,

requestVertexNormals: true

});

2、在线地形加载 延迟使用createWorldTerrainAsync

const terrain = await Cesium.createWorldTerrainAsync({

requestWaterMask: true,

requestVertexNormals: true

});

初始化加载使用fromWorldTerrain

const viewer = new Cesium.Viewer('cesiumContainer', {

terrain: Cesium.Terrain.fromWorldTerrain(), //在线地形

animation: false,

timeline: false

});

3、完整代码写法

复制代码
<!DOCTYPE html>
<html lang="zh-CN">

<head>
  <meta charset="UTF-8">
  <title>terrain地形 Cesium1.141</title>
  <style>
    #viewer {
      width: 100vw;
      height: 100vh;
      margin: 0;
      padding: 0;
    }
  </style>
  <!-- 引入cesium -->
  <script src="https://cdn.jsdelivr.net/npm/cesium@1.141.0/Build/Cesium/Cesium.js"></script>
  <link href="https://cdn.jsdelivr.net/npm/cesium@1.141.0/Build/Cesium/Widgets/widgets.css" rel="stylesheet">
</head>

<body>
  <div id="viewer"></div>
  <script>
    Cesium.Ion.defaultAccessToken = "你的token";
    const viewer = new Cesium.Viewer('viewer', {
      baseLayerPicker: false,
      // 关闭默认在线地形
      terrainProvider: Cesium.EllipsoidTerrainProvider
    });
      viewer.imageryLayers.addImageryProvider(
        new Cesium.UrlTemplateImageryProvider({
          url: "http://webst02.is.autonavi.com/appmaptile?x={x}&y={y}&z={z}&lang=zh_cn&size=1&scale=1&style=8",
          layer: "tdtAnnoLayer",
          style: "default",
          format: "image/jpeg",
          tileMatrixSetID: "GoogleMapsCompatible",
        }),
      );
    const terrainType = "global";
    (async function(){
            
            //全球在线地形
            const terrain = await Cesium.createWorldTerrainAsync({
                requestWaterMask: true,
                requestVertexNormals: true
            });
                
            //本地局部地形
            const localTerrain = await Cesium.CesiumTerrainProvider.fromUrl("./terrain",{
                requestWaterMask: false,
                requestVertexNormals: true
            });

            viewer.terrainProvider = terrainType = "global" ? terrain : localTerrain;

            // 定位到地形范围中心点
            viewer.camera.flyTo({
                destination:Cesium.Cartesian3.fromDegrees(116.41,39.90,5000)
            })
            viewer.scene.debugShowTerrainTiles = true;
    })();
  </script>
</body>

</html>
相关推荐
前端小崔10 小时前
Three.js 与 Cesium 融合实战问题汇总
前端·three.js·cesium
赵钰老师16 小时前
基于ArcGIS Pro、R、INVEST等多技术融合下生态系统服务权衡与协同动态分析
python·arcgis·数据分析·r语言
洛兮银儿17 小时前
前端页面引入cesium
前端·cesium
梦想的初衷~2 天前
MaxEnt 物种分布建模学习手册|理论 + R 语言 + ArcGIS 全套实操教程
arcgis·环境变量·r 语言·maxent 模型·物种分布建模·生态学研究·科研教程
GISBox3 天前
数字孪生项目必备:RVT模型转3DTiles格式的高效解决方案
gis·cesium·格式转换·服务发布·gisbox·rvt切片·3dtiles格式
ToTacview3 天前
Web 可视化卡顿的归因方法论:以“流畅一段、停顿一下“为例的代码级根治
cesium
夜郎king5 天前
基于天地图 Cesium 三维服务实现三维地球及地球自转实践
数据分析·cesium·3d地图·三维地球
jiushidt7 天前
ArcGIS Pro Add‑in 打包流程详解
arcgis·c#·.net·arcgispro
蓝悦无人机7 天前
《地面站软件开发》-第2章ArcGIS Maps SDK for Qt 改变视角
arcgis·上位机·地面站·qml·qt6·qt quick·天地图
luckystar513~7 天前
Navara是WebGIS的第三条路吗?
gis·cesium·mapbox·地图引擎·地理可视化