当前位置: 首页 > article >正文

cesium.js 入门到精通(1)

1.首先我们创建一个vue3 的基础项目

vue create vue

大家 干前端的 应该都会安装 把

2.安装cesium 库

npm i cesium

安装成功 其实 最主要的就是这几个 文件

我们把这几个 文件复制到 public 里面 以便引入使用

3.基础代码讲解

我们在app.vue 代码里来写 cesium 的东西

(1).引入cesium  并且 导入css

// yarn add cesium
// 将cesium目录下的Build/Cesium4个目录拷贝到public,然后将widgets目录拷贝一份到src下
import * as Cesium from "cesium";
import "./Widgets/widgets.css";
import { onMounted } from "vue";

(2).模版盒子

<template>
  <div id="cesiumContainer" ref="cesiumContainer"></div>
</template>

我们定义一个div  需要有一个 负载div

以上就是

(3).显示地球viewer

onMounted(() => {
  var viewer = new Cesium.Viewer("cesiumContainer", {
    infoBox: false,
  });

 
});

我们需要在onMounted 中显示

显示的是北美洲 这边

我们想显示 中国

// 设置cesium默认视角
Cesium.Camera.DEFAULT_VIEW_RECTANGLE = Cesium.Rectangle.fromDegrees(
  // 西边的经度
  89.5,
  // 南边维度
  20.4,
  // 东边经度
  110.4,
  // 北边维度
  61.2
);

设置一个cesium 的默认视角就可以了 

中国就显示出来了

我们想隐藏 左下角的 cesium logo  亦可以

onMounted(() => {
  var viewer = new Cesium.Viewer("cesiumContainer", {
    infoBox: false,
  });

  // 隐藏logo
  viewer.cesiumWidget.creditContainer.style.display = "none";
});

这样就可以了

设置一个token  这样 去cesium 官网上 注册账号就行了

// 设置cesium token
Cesium.Ion.defaultAccessToken =
  "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiJhMzNkNTE5Zi1mMjY4LTRiN2QtOTRlZC1lOTUyM2NhNDYzNWYiLCJpZCI6NTU0OTYsImlhdCI6MTYyNTAyNjMyOX0.a2PEM4hQGpeuMfeB9-rPp6_Gkm6O-02Dm4apNbv_Dlk";

// 设置cesium静态资源路径
window.CESIUM_BASE_URL = "/";

完整代码

<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,
  });

  // 隐藏logo
  viewer.cesiumWidget.creditContainer.style.display = "none";
});
</script>

<style>
* {
  margin: 0;
  padding: 0;
}
#cesiumContainer {
  width: 100vw;
  height: 100vh;
}
</style>


http://www.kler.cn/a/301750.html

相关文章:

  • 校园二手交易网站毕业设计基于SpringBootSSM框架
  • IDEA2024:右下角显示内存
  • 力扣刷题日记之150.逆波兰表达式求值
  • 代码随想录算法训练营第四十八天|Day48 单调栈
  • 终端快捷键学习笔记
  • 108. UE5 GAS RPG 实现地图名称更新和加载关卡
  • 高级java每日一道面试题-2024年9月08日-前端篇-JS的执行顺序是什么样的?
  • php实现kafka
  • 一篇文章,讲清SQL的 joins 语法
  • Java贪心算法每日一题——179.最大数
  • 【QT】Qt窗口
  • Pr:序列设置 - VR 视频
  • 【区块链 + 基层治理】社区防疫管理平台 | FISCO BCOS应用案例
  • 404 error when doing workload anlysis using locust on OpenAI API (GPT.35)
  • 【深度学习 Pytorch】深入浅出:使用PyTorch进行模型训练与GPU加速
  • 泛零售行业的营销自动化现状如何?
  • Vue3+vite使用i18n国际化
  • 军事目标无人机视角检测数据集 3500张 坦克 带标注voc
  • 剖析 MySQL 数据库连接池(C++版)
  • Docker简介在Centos和Ubuntu环境下安装Docker
  • 详细介绍 Redis 列表的应用场景
  • 【三刷C语言】各种注意事项
  • 常用Java API
  • c# resource en-US
  • 4.qml单例模式
  • 智能医学(四)——Elsevier特刊推荐