C1 ——cesium加载天地图瓦片

记录找的时候不好找

javascript 复制代码
<template>
  <div id="cesiumContainer"> </div>
</template>

<script>
export default {
  name: 'CesiumViewer',
  data() {
    return {
      viewer: null
    }
  },
  mounted() {
    this.initViewer();
  },
  beforeDestroy() {
    if (this.viewer) {
      this.viewer.destroy();
      this.viewer =null;
    }
  },
  methods: {
    initViewer() {
      const viewer = new Cesium.Viewer("cesiumContainer", {
        animation: false,
        timeline: false,
        baseLayerPicker: false,
        geocoder: false,
        imageryProvider: false, // 禁用默认底图
        terrainProvider: undefined, // 禁用默认的 ion 地形层(若不需要地形可加)
      });
      this.viewer = viewer;
      viewer._cesiumWidget._creditContainer.style.display = "none";
      viewer.imageryLayers.addImageryProvider(
        new Cesium.TileMapServiceImageryProvider({
          url: "../../src/lib/Cesium/Assets/Textures/NaturalEarthII", // 本地瓦片路径模板
          fileExtension: "jpg", // 瓦片图片格式
          maximumLevel: 2, // 瓦片最大级别
          minimumLevel: 0, // 瓦片最小级别
        })
      );

      this.addTiandituLayer();
      // 设置初始视角到中国
      this.viewer.camera.setView({
        destination: Cesium.Cartesian3.fromDegrees(116.4, 39.9, 15000000.0)
      });



    },


    addTiandituLayer() {
      try {
        const tiandituToken = "b3d91562aff4a392aeaec0fe2661a66e000";
        // 方式一UTL
        const imgProvider = new Cesium.UrlTemplateImageryProvider({
          url: `https://t{s}.tianditu.gov.cn/DataServer?T=img_w&x={x}&y={y}&l={z}&tk=${tiandituToken}`,
          subdomains: ['0', '1', '2', '3', '4', '5', '6', '7'],
          maximumLevel: 18,
          tilingScheme: new Cesium.WebMercatorTilingScheme(),
        });

        const ciaProvider = new Cesium.UrlTemplateImageryProvider({
          url: `https://t{s}.tianditu.gov.cn/DataServer?T=cia_w&x={x}&y={y}&l={z}&tk=${tiandituToken}`,
          subdomains: ['0', '1', '2', '3', '4', '5', '6', '7'],
          maximumLevel: 18,
          tilingScheme: new Cesium.WebMercatorTilingScheme(),
        });

        // 方式二WMTS
        // const imgProvider = new Cesium.WebMapTileServiceImageryProvider({
        //       url: `https://t{s}.tianditu.gov.cn/img_w/wmts?tk=${tiandituToken}`,
        //       subdomains: ['0', '1', '2', '3', '4', '5', '6', '7'],
        //       layer: 'img',
        //       style: 'default',
        //       format: 'tiles',
        //       tileMatrixSetID: 'w',
        //       maximumLevel: 18
        //     });

        //     // 注记图层
        //     const ciaProvider = new Cesium.WebMapTileServiceImageryProvider({
        //       url: `https://t{s}.tianditu.gov.cn/cia_w/wmts?tk=${tiandituToken}`,
        //       subdomains: ['0', '1', '2', '3', '4', '5', '6', '7'],
        //       layer: 'cia',
        //       style: 'default',
        //       format: 'tiles',
        //       tileMatrixSetID: 'w',
        //       maximumLevel: 18
        //     });


        // 添加到地图
        this.viewer.imageryLayers.addImageryProvider(imgProvider);
        this.viewer.imageryLayers.addImageryProvider(ciaProvider);

        console.log('天地图图层添加成功');

      } catch (error) {
        console.error('添加天地图图层失败:', error);
      }
    }

  }
}
</script>

<style scoped>
#cesiumContainer {
  position: absolute;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
}
</style>
相关推荐
青山Coding20 小时前
Cesium应用(七):地形开挖的实现思路
前端·cesium
毕安格 - BimAngle2 天前
地理配准高级教程:局部坐标(无地理信息)模型篇
3d·cesium·gltf·glb·3d tiles
duansamve3 天前
Python+CesiumLabv4.0.17生成上W个高度不一、颜色不一立方体的3D TILES文件
cesium
不争不抢的佛系少年5 天前
Cesium模型没有动画怎么办?手把手教你通过代码给GLB模型添加动画!
cesium
用户83134859306987 天前
Vue3 + Cesium 实现城市 3D 场景下雪特效(按钮开关控制下雪启停)
cesium
BJ-Giser13 天前
CesiumJS升级全新VFX特效粒子系统
前端·可视化·cesium
白嫖叫上我13 天前
Cesium抗锯齿处理
cesium
白嫖叫上我13 天前
Cesium地球风格切换、昼夜交替效果
cesium
用户831348593069814 天前
Vue3 + Cesium 实现热气球第一人称自动飞行(支持手机端)
cesium
青山Coding15 天前
Cesium应用(六):三维地形中坡度分析的实现过程
前端·cesium