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

vue3中使用cesium

vue3中使用cesium

Cesium是一个开源的JavaScript库,专门用于创建3D地球和2D地图的Web应用程序。它提供了丰富的功能和工具,使得开发人员能够轻松地构建出高质量的地理空间可视化应用。

1. 安装cesium包

npm install cesium

2. 复制node_modules中的Cesium至public静态资源中

在这里插入图片描述

3. main.ts中引入cesium

import "cesium/Build/Cesium/Widgets/widgets.css";import * as Cesium from "cesium";(window as any).CESIUM_BASE_URL = "/Cesium"; Cesium.Ion.defaultAccessToken = "你的token";  // 注册地址https://cesium.com/ion/signin/tokens

4. 编写页面

<script setup lang="ts">
import { onMounted } from "vue";
import * as Cesium from "cesium";onMounted(() => {const viewer = new Cesium.Viewer("cesiumContainer1");
});
</script>
<template><div id="cesiumContainer1" />
</template>
<style lang="less" scoped>
#cesiumContainer1 {width: 100%;height: 100%;
}
</style>

此时页面效果
在这里插入图片描述

5.cesium相关配置, 具体可查看官方文档。

viewer = new Cesium.Viewer("cesiumContainer", {imageryProvider: new Cesium.UrlTemplateImageryProvider({url: "xxx", //换成自己的地址maximumLevel: 9,}),animation: false, // 动画控件shouldAnimate: false, // 初始时刻运动homeButton: false, // Home按钮fullscreenButton: false, // 全屏按钮baseLayerPicker: false, // 图层选择控件geocoder: false, // 地名查找控件timeline: false, // 时间线控件shadows: false,navigationHelpButton: false, // 帮助信息控件infoBox: false, // 点击要素之后显示的信息 信息框小部件requestRenderMode: false, // true启用请求渲染模式:更新实体需拖动地图 视图才更新[true 加载完entity后requestRender一下]scene3DOnly: false, // 几何图形以3D模式绘制以节约GPU资源sceneMode: Cesium.SceneMode.SCENE3D, // 初始场景模式  3d 球maximumRenderTimeChange: 1,sceneModePicker: false, // 切换展示模式控件selectionIndicator: false,// 设置渲染orderIndependentTranslucency: false,contextOptions: {webgl: {alpha: true,},},
});//去除 左下角 版权信息
(viewer.cesiumWidget.creditContainer as HTMLElement).style.display = "none";// 相机位置
viewer.camera.flyTo({destination: Cesium.Cartesian3.fromDegrees(120, 48, 25000000),
});const scene = viewer.scene;
scene.globe.depthTestAgainstTerrain = true;

配置后的页面效果
在这里插入图片描述

http://www.lryc.cn/news/322554.html

相关文章:

  • arduino ide 开发esp8266注意事项
  • RTC协议与算法基础 - RTP/RTCP
  • c语言游戏实战(8):飞机大作战
  • docker 部署k8s相关命令操作
  • 使用Tesseract识别中文 并提高精度
  • 基于Jenkins + Argo 实现多集群的持续交付
  • 关于javascript数字精度丢失的解决办法
  • 每日一题 第二十一期 洛谷 组合的输出
  • JavaScript 面试题
  • java输入语句scanner
  • Python从入门到精通秘籍十一
  • WRF模型教程(ububtu系统)-WPS(WRF Pre-Processing System)概述
  • C语言向C++过渡的基础知识(一)
  • GEE遥感云大数据林业应用典型案例及GPT模型应用
  • macOS Ventura 13.6.5 (22G621) Boot ISO 原版可引导镜像下载
  • 数据结构面试常见问题之Insert or Merge
  • perl 用 XML::LibXML 解析 Freeplane.mm文件,XML文件
  • Spring Cloud Alibaba微服务从入门到进阶(七)(服务容错-Sentinel)
  • Arduino RP2040 + SSD1306 I2C OLED +LittleFS存储GBK字库实现中文显示
  • 代码随想录算法训练营第day53|1143.最长公共子序列 、 1035.不相交的线、 53. 最大子序和 动态规划
  • 【Flutter学习笔记】10.2 组合现有组件
  • C++的vector类(一):vector类的常见操作
  • SpringBoot注解
  • 每日三个JAVA经典面试题(十九)
  • springboot企业级抽奖项目业务一(登录模块)
  • 【Python + Django】启动简单的文本页面
  • Docker——问题解决:服务器端和Windows端IP互通
  • HTTP跨域
  • 用Python的turtle库绘制皮卡丘
  • C语言打印当前时间