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>
相关推荐
前端小崔14 天前
Three.js 与 Cesium 融合实战问题汇总
前端·three.js·cesium
洛兮银儿14 天前
前端页面引入cesium
前端·cesium
GISBox17 天前
数字孪生项目必备:RVT模型转3DTiles格式的高效解决方案
gis·cesium·格式转换·服务发布·gisbox·rvt切片·3dtiles格式
ToTacview17 天前
Web 可视化卡顿的归因方法论:以“流畅一段、停顿一下“为例的代码级根治
cesium
夜郎king18 天前
基于天地图 Cesium 三维服务实现三维地球及地球自转实践
数据分析·cesium·3d地图·三维地球
蓝悦无人机20 天前
《地面站软件开发》-第2章ArcGIS Maps SDK for Qt 改变视角
arcgis·上位机·地面站·qml·qt6·qt quick·天地图
luckystar513~20 天前
Navara是WebGIS的第三条路吗?
gis·cesium·mapbox·地图引擎·地理可视化
灵境(虚幻知音)1 个月前
WebGL 不支持>1px的线绘制,那 Cesium 的带宽度的线是怎么画出来的?
webgl·cesium·着色器
ToTacview1 个月前
WebGL 没有几何着色器,那 Cesium 的粗线是怎么画出来的?
cesium
用户61595868000221 个月前
Cesium 入门系列(四):区域高亮显示的两种实现方案
cesium