现在我们看这个地图是 属于一个平面的
如果我们想把这个弄成 那种真实的高低起伏的 山脉 或者 其他的建筑显示 我们可以使用
添加地形
terrainProvider: new Cesium.CesiumTerrainProvider({
url: "./terrains/gz",
}),
这是一个参数 配置 地形
整体代码
<template>
<div id="cesiumContainer" ref="cesiumContainer"></div>
</template>
<script setup>
// yarn add cesium
// 将cesium目录下的Build/Cesium4个目录拷贝到public,然后将widgets目录拷贝一份到src下
import * as Cesium from "cesium";
import "./Widgets/widgets.css";
import { onMounted } from "vue";
// 设置cesium token
Cesium.Ion.defaultAccessToken =
"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiJhMzNkNTE5Zi1mMjY4LTRiN2QtOTRlZC1lOTUyM2NhNDYzNWYiLCJpZCI6NTU0OTYsImlhdCI6MTYyNTAyNjMyOX0.a2PEM4hQGpeuMfeB9-rPp6_Gkm6O-02Dm4apNbv_Dlk";
// 设置cesium静态资源路径
window.CESIUM_BASE_URL = "/";
// 设置cesium默认视角
Cesium.Camera.DEFAULT_VIEW_RECTANGLE = Cesium.Rectangle.fromDegrees(
// 西边的经度
89.5,
// 南边维度
20.4,
// 东边经度
110.4,
// 北边维度
61.2
);
onMounted(() => {
var viewer = new Cesium.Viewer("cesiumContainer", {
// 是否显示信息窗口
infoBox: false,
// 设置地形
// terrainProvider: Cesium.createWorldTerrain({
// requestVertexNormals: true,
// requestWaterMask: true,
// }),
terrainProvider: new Cesium.CesiumTerrainProvider({
url: "./terrains/gz",
}),
});
// 隐藏logo
viewer.cesiumWidget.creditContainer.style.display = "none";
});
</script>
<style>
* {
margin: 0;
padding: 0;
}
#cesiumContainer {
width: 100vw;
height: 100vh;
}
</style>
就是这样的效果
我们可以看到山脉的高低起伏
当然这些地形切片也不是我们前端需要考虑的 我们只需要学会 怎么配置 当前的地形就好了