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>
相关推荐
总要学点什么11 小时前
第81篇:数据可视化-PM2.5分布——让圆点的胖瘦替每座城市报出浓度
前端·信息可视化·echarts·cesium·空间分析
limit00753 天前
公开 WMTS / XYZ 瓦片接入 Cesium:6 类常见问题与排查顺序
chrome·低代码·arcgis·web3·旅游
总要学点什么4 天前
第79篇:数据可视化-模拟迁徙效果——把三十条航线画成会飞的弧
3d·信息可视化·数据挖掘·数据分析·gis·webgl·cesium
limit00754 天前
三维模型悬空与切片偏移的排查顺序
低代码·3d·arcgis·web3·安卓·webgl
最强小杰4 天前
Continue + minimax-m3 接入教程:协议、模型 ID、404 与工具调用排错
arcgis·ai
总要学点什么6 天前
第75篇:右键菜单控件——把一张会做事的菜单钉在鼠标落下的那点
前端·信息可视化·echarts·cesium·空间分析
2501_934304408 天前
新增2026年! 2012-2026年全国逐月夜间灯光数据
arcgis·gis数据
迷迭绿9 天前
Cesium 轨迹回放播放器
前端·javascript·cesium
梅如你9 天前
中国2026年路网数据
arcgis·gis·遥感
梦想的初衷~9 天前
GPT × ArcGIS 强强联合:AI助力数据处理、空间分析、可视化及多案例综合应用实战教程
人工智能·gpt·arcgis