vue3+cesium项目搭建

news2024/11/17 8:21:51

前言

最近需要在一个Vue3的项目中使用到cesium,对于一个cesium没有太多了解的人来说,还是比较麻烦的,本篇博文就将自己在这个过程踩的坑记录下来,有需要的可以看一下

1、vue+cesium框架搭建

2、项目运行起来后,球体不出现,只出现星空

持续ing…

一、vue3+Cesium 项目搭建

1、初始化vue3项目框架 vue create project-name
这是最基础的一步,首先我们需要先生成一个vue3框架,这里我采用的是 vue create project-name ,并且选择了vue3-simple模式,这里并没有选择其他太复杂的东西,如果有其他需求,可以自定义加载router、vuex、less、等其他插件。
2、配置cesium

  • 项目初始化完成之后,下面我们执行 npm run serve这个命令,确保项目能够正常启动
  • 接下来 执行 npm install cesium 命令,这个时候敲重点,很多人执行后,就出现问题了,当时我也是遇到了问题,初始化之后,项目一直报错,原因是因为cesium的版本如果太高的,webpack 或者其他相关依赖就有可能起冲突
    我这里用的cesium版本是 ^1.83.0,如果想要指定版本下载cesium的话,可以运行 npm install -S cesium@1.83.0这个命令
  • 安装好cesium之后,我们需要打开 vue.config.js这个文件,进行相关配置
const { defineConfig } = require("@vue/cli-service");

const CopyWebpackPlugin = require("copy-webpack-plugin");
const webpack = require("webpack");
const path = require("path");

let cesiumSource = "./node_modules/cesium/Source/";
const cesiumWorkers = "../Build/Cesium/Workers";

module.exports = defineConfig({
  transpileDependencies: true,
  publicPath: "./",
  outputDir: "dist", // 输出文件目录
  lintOnSave: false, // eslint 是否在保存时检查 关闭语法检查

  configureWebpack: {
    output: {
      sourcePrefix: " ",
    },
    amd: {
      toUrlUndefined: true,
    },
    resolve: {
      alias: {
        "@": path.resolve("src"),
        cesium: path.resolve(__dirname, "./node_modules/cesium/"),
      },
      fallback: { https: false, zlib: false, http: false, url: false },
    },
    plugins: [
      new CopyWebpackPlugin({
        patterns: [
          { from: path.join(cesiumSource, cesiumWorkers), to: "Workers" },
          { from: path.join(cesiumSource, "Assets"), to: "Assets" },
          { from: path.join(cesiumSource, "Widgets"), to: "Widgets" },
          { from: path.join(cesiumSource, "ThirdParty"), to: "ThirdParty" },
        ],
      }),
      new webpack.DefinePlugin({
        CESIUM_BASE_URL: JSON.stringify("./"),
      }),
    ],
    module: {
      rules: [
        {
          test: /\.js$/,
          use: {
            loader: "@open-wc/webpack-import-meta-loader",
          },
        },
        {
          test: /\.(glb|gltf)?$/,
          use: {
            loader: "url-loader",
          },
        },
      ],
    },
  },
});
  • 在node_modules中找到这几个文件夹拉到这个文件夹下
    在这里插入图片描述
  • 打开index.html文件夹,在header中引入这段代码
<link href="<%= BASE_URL %>Cesium/Widgets/widgets.css" rel="stylesheet" />
<script src="<%= BASE_URL %>Cesium/Cesium.js"></script>

好了,现在不出意外的话,你的Vue3项目已经初始化好cesium了,你可以尽情的在你的项目中使用它了

二、使用cesium简单生成一个球体

在生成球体之前,你可以将项目初始化的一些样式还有图片链接直接删除掉

  • 打开 HelloWord.vue这个文件,这个文件中我们就可以编写我们想要的一些效果了
<template>
  <div id="CesiumContainer"></div>
</template>
<script setup>
import { onMounted, ref } from "vue";
import * as Cesium from "cesium";

Cesium.Ion.defaultAccessToken ="xxxxxxxxxxxxxxx"
const viewer = new Cesium.Viewer("CesiumContainer", {
    geocoder: false,
    homeButton: false,
    sceneModePicker: false,
    baseLayerPicker: false,
    navigationHelpButton: false,
    animation: false,
    timeline: false,
    fullscreenButton: false,
  });
</script>

这里我们看到我们插入了一个token,如果不插入这个token的话,页面只会在展示一个蓝色的空白地球
token的获取方法 申请令牌,这样我们就可以看到一个有内容的球了

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/737627.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

展会邀请|虹科诚邀您参加7月11-13日上海慕尼黑光博会

2023年上海慕尼黑光博会与机器视觉展将于7月11-13日在上海国家会展中心隆重召开&#xff01; 慕尼黑上海光博会自2006年举办以来&#xff0c;已成为中国激光、光学、光电行业一年一度的聚会。慕尼黑上海光博会助力行业发展趋势&#xff0c; 集中展示涵盖激光器与光电子、光学与…

科技云报道:当云厂商主动拥抱生成式AI,会碰撞出什么样的火花?

科技云报道原创。 如果说这是AI大模型的时代&#xff0c;不如说是生成式AI的时代。 在AI大模型、生成式AI、ChatGPT这三者中&#xff0c;生成式AI是最广泛的概念&#xff0c;涵盖了所有使用AI生成新内容的应用。 大模型是实现生成式AI的一种方式&#xff0c;而ChatGPT则是大…

精选了20个Python实战项目(附源码),拿走就用!零基础练手不二项目!

Python是目前最好的编程语言之一。由于其可读性和对初学者的友好性&#xff0c;已被广泛使用。 那么要想学会并掌握Python&#xff0c;可以实战的练习项目是必不可少的。 接下来&#xff0c;我将给大家介绍20个非常实用的Python项目&#xff0c;帮助大家更好的学习Python。 …

电表是怎么计算度数的

电表是一种用来测量电能的仪表&#xff0c;也称为电度表、火表、电能表、千瓦小时表等。电表可以通过测量电流、电压、功率等因素来计算用户消耗的电能&#xff0c;从而确定用户应缴纳的电费。在本文中&#xff0c;我们将详细介绍电表的计算方式以及如何读取电表的度数。 一、电…

自学网络安全(黑客)

一、为什么选择网络安全&#xff1f; 这几年随着我国《国家网络空间安全战略》《网络安全法》《网络安全等级保护2.0》等一系列政策/法规/标准的持续落地&#xff0c;网络安全行业地位、薪资随之水涨船高。 未来3-5年&#xff0c;是安全行业的黄金发展期&#xff0c;提前踏入…

Android之WebView加载PDF链接预览PDF文件

文章目录 前言一、效果图二、实现步骤1.在项目main目录下新建一个assets2.新建一个js为index.js3.新建一个HTML为index.html4.xml布局4.Activity类&#xff08;kotlin&#xff09;5.Activity类&#xff08;Java&#xff09; 总结 前言 Android的webview压根就不支持加载pdf&am…

深度卷积网络的实际应用

1、三种经典的深度卷积网络 1.1、LeNet-5 使用 sigmoid 函数和 tanh 函数&#xff0c;而不是ReLu 函数&#xff0c;这篇论文中使用的正是 sigmoid 函数和 tanh 函数LeNet-5 是针对灰度图片训练的&#xff0c;所以图片的大小只有 32321 6 个 55 的过滤器&#xff0c;步幅为 …

【如何在深度学习的道路上越走越远?】

作为近几年人工智能领域的主要研究方向之一&#xff0c;深度学习主要通过构建深度卷积神经网络和采用大量样本数据作为输入&#xff0c;最终得到-一个具有强大分析能力和识别能力的模型。深度学习可以是有监督的、半监督的或无监督的。深度学习架构(例如深度神经网络、深度信念…

el-input输入框type=“number“时,禁止鼠标上下滑动改变数值

el-input输入框type"number"时&#xff0c;禁止鼠标上下滑动改变数值 解决方法&#xff1a;在el-input中添加属性设置 mousewheel.native.prevent

【达哥讲网络——只讲你不知道的】第1集:网络体系结构中的功能模块

大家好&#xff0c;经过公司缜密的思考和策划&#xff0c;【达哥讲网络——只讲你不知道的】系列连载今天正式与大家见面了。经过深入考虑&#xff0c;本系列只对一些重要的网络技术原理、网络功能实现原理及配置进行连载&#xff0c;其中会穿插一些实战案例&#xff0c;以帮助…

python与蒸散发与植被总初级生产力估算

植被总初级生产力(GPP)是指植物通过光合作用吸收的碳&#xff0c;是陆地生物圈和大气之间最大的碳通量&#xff0c;GPP的准确量化对于理解气候变化中生态系统功能、农业生产和碳循环的动态以及对气候的反馈具有重要意义 蒸散发&#xff08;Evapotranspiration&#xff0c;ET&a…

websdk上传阿里云视频完整教程

批量上传视频到阿里云 这段时间项目里有一个上传视频到阿里云的功能是我来负责写的&#xff0c;之前一直没有写过这种功能&#xff0c;感觉很难的亚子&#xff0c;但是后来仔细研究了一遍发现也没想象中那么难&#xff0c;最后经过不懈的努力也算是搞出来了哈哈哈&#xff0c;开…

集合List和Map

ArrayList底层的实现原理 初始化后ArrayList添加元素的步骤 首先计算数组的容量&#xff0c;如果当前数组已使用长度1后的大于当前的数组长度&#xff0c;则调用grow方法扩容(原来的1.5倍)&#xff0c;确保新增的数据有地方存储之后&#xff0c;则添加元素到size的位置上。返回…

docker环境下安装mysql 5.6

一、查看mgsql镜像版本 docker search mysql 二、拉取mysql镜像到本地标签为5.6版本 docker pull mysql:5.6 三、使用mysql5.6镜像创建容器(也叫运行镜像) 1.执行命令&#xff1a; docker run -p 3306:3306 --name mysql -v /haolb/mysql/conf:/etc/mysql/conf.d -v /haolb/my…

P2P、BT、ED2k、FTP、磁力链接下载到底是什么鬼?

1、HTTP/HTTPS 下载 有小伙伴会问&#xff0c;这个协议不是用来浏览网页的时候用的吗&#xff1f; 其实不然&#xff0c;用来下载文件一样可以&#xff0c;本质上都是从服务器拉取资源到本地&#xff0c;不同的是网页内容被渲染到浏览器上&#xff0c;而文件直接放在你的下载…

财富航向:企业为何急需财务管理软件?

随着市场的竞争日益激烈&#xff0c;企业对于财务数据的管理越来越重视。财务管理软件存在的好处越来越明显&#xff0c;它们可以帮助企业更好地管理财务信息并提高工作效率。 企业为什么需要财务管理软件&#xff1f; 1、方便管理财务数据 财务管理软件能够方便地管理与公司财…

教程学习:AutoQSAR

教程和练习文件从软件官网下载 内容&#xff1a; 1、拷贝教程提供的练习文件素材&#xff1a; 在软件的help中选择需要的教程&#xff0c;点击Copy to&#xff0c;可以将教程需要的文件拷贝到指定的文件夹里。点击Browse可以进行预览。 2、建立一个数值型的QSAR模型评估结合…

msvcr120.dll找不到是什么原因,怎样修复

msvcr120.dll的定义 msvcr120.dll是微软Visual C Redistributable软件包中的一个动态链接库文件。它是Microsoft Visual 所需的一个重要组件。这个文件主要用于支持和管理C语言编写的应用程序的运行。它包含了许多C的运行库函数和类&#xff0c;以便应用程序能够正常运行和调用…

2023-07-10:Kafka如何做到消息不丢失?

2023-07-10&#xff1a;Kafka如何做到消息不丢失&#xff1f; 答案2023-07-10&#xff1a; Kafka采用多种机制来确保消息的不丢失&#xff0c;其中包括副本机制、ISR&#xff08;In-Sync Replicas&#xff09;机制以及ACK机制等。 1.副本机制 Kafka通过副本机制来确保消息不…

【ElasticSearch】ES自动补全查询与Java接口实现

文章目录 1、安装拼音分词器2、自定义分词器3、completion suggester查询4、hotel索引库更新5、代码修改6、RestAPI实现自动补全7、需求&#xff1a;搜索框实现自动补全 自动补全就是当用户在搜索框输入字符时&#xff0c;我们应该提示出与该字符有关的搜索项。 1、安装拼音分词…