CesiumJS使用详细,在vue中使用Cesium.js(WebGIS中的Cesium地图可视化应用)

news2024/12/23 10:34:47

简述:Cesium是一种基于WebGL开源的虚拟地球技术,可以用于构建高性能、跨平台的三维地球应用程序,它支持多种数据格式和地图服务,可以实现地球表面的高精度渲染、地形分析、数据可视化等功能。Cesium还提供了丰富的API和插件,方便开发者进行二次开发和定制化,且可免费商用,在航空航天、国防、城市规划、教育等领域得到了广泛应用。

1、 首先,我们要想在项目中使用cesium,需要在项目中安装Cesium.js,可以通过npm实现

npm install cesium    
//或    
npm install cesium --save

//两个执行命令,意思相同。
//安装依赖时,不带 -XX 时,默认安装在开发环境中,也就是dependencies下,上线后的依赖;

--save、--save-dev、--global的区别和各自的含义:

--save、--save-dev、--global使用详细https://blog.csdn.net/weixin_65793170/article/details/128267888?ops_request_misc=&request_id=af83ae7c40fc4193bea53942c566240c&biz_id=&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~koosearch~default-1-128267888-null-null.268%5Ev1%5Econtrol&utm_term=save&spm=1018.2226.3001.4450

2、下载完成后,可以在package.json中,dependencies依赖环境下,可以看到该依赖,如下:

3、然后在 node_modules文件中找到cesium文件(路径:node_modules > cesium > build > Cesium)这里需要用到build文件下cesium文件中的widgets.css和Cesium.js,所以直接复制粘贴在public文件中

 4、然后在public文件下的index.html文件中引入widgets.css和Cesium.js文件;

5、这样就可以在vue页面直接使用了。(目前只找到这种引入方式,有main.js引入方式的可以分享一下)

控制台输出: 

6、 这里初始化一个cesium地球视图,新建一个cesium.js文件,然后再里面导出初始化地球视图函数,这里需要用到Access Tokens,就是cesium的访问令牌,每一个使用cesium的用户都需要自己注册创建,注册方法下面;

// 初始化cesium地图 JS文件
// 首先获取Cesium API
const Cesium = window.Cesium;
let viewer = null;
/**
 * 初始化地球视图函数
 */
function initCesiumMap(dom) {
  // 配置cesium专属Access Tokens,就是cesium的访问令牌,每一个使用cesium的用户都需要自己注册,然后获取自己的Access Tokens;
  Cesium.Ion.defaultAccessToken = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiIxZWFlYjAyYS0xN2JlLTQ0OTItOGNkOC05YWJlNGY0MjI2NmQiLCJpZCI6NDkyMjYsImlhdCI6MTYxNzM0NjA3N30.crkTg0Logk_JUA7BROy0r9RqTJWCi8NZpTyu4qI11Fo'
  viewer = new Cesium.Viewer(dom, {
    animation: false, // 是否显示动画控件
    baseLayerPicker: true, // 是否显示图层选择控件
    vrButton: false, // 是否显示VR控件
    geocoder: false, // 是否显示地名查找控件
    timeline: false, // 是否显示时间线控件
    sceneModePicker: false, // 是否显示投影方式控件
    navigationHelpButton: false, // 是否显示帮助信息控件
    navigationInstructionsInitiallyVisible: true, // 帮助按钮,初始化的时候是否展开
    infoBox: false, // 是否显示点击要素之后显示的信息
    fullscreenButton: true, // 是否显示全屏按钮
    selectionIndicator: true, // 是否显示选中指示框
    homeButton: false, // 是否显示返回主视角控件
    scene3DOnly: true, // 如果设置为true,则所有几何图形以3D模式绘制以节约GPU资源
    terrainProvider: Cesium.createWorldTerrain({
      // 光照阴影
      requestVertexNormals: true,
      // 水流效果
      requestWaterMask: true
    }), // 显示地形
    // terrainProvider: new Cesium.EllipsoidTerrainProvider({}) // 不显示地形
  })

  // 去掉logo
  viewer.cesiumWidget.creditContainer.style.display = "none";

}
// 导出
export { Cesium, viewer, initCesiumMap };

在vue页面引入使用,

import { initCesiumMap } from "../../../utils/cesium/cesium.js";

//在函数中调用initCesiumMap地图方法,并把id为cesium_map的html元素传递过去;
mounted() {
    initCesiumMap("cesium_map");
},

//当然,别忘了定义html元素
<div id="cesium_map"></div>
//并设置宽高
#cesium_map {
    width: 100%;
    height: 100%;
}

运行效果如下:

7、 在这里注册cesium,获取Access Tokens,

Cesium注册icon-default.png?t=N5F7https://ion.cesium.com/signup/

注册完成后,来到如下页面,在这里创建token:

 

更多操作:

Cesium中文文档icon-default.png?t=N5F7https://www.vvpstk.com/public/Cesium/Documentation/Animation.html

更多详见:

Cesium官方网站https://www.cesium.com/

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

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

相关文章

K 个一组翻转链表(leetcode 25)

文章目录 1.问题描述2.难度等级3.热门指数4.解题思路思路复杂度分析 5.实现示例参考文献 1.问题描述 给你链表的头节点 head &#xff0c;每 k 个节点一组进行翻转&#xff0c;请你返回修改后的链表。 k 是一个正整数&#xff0c;它的值小于或等于链表的长度。如果节点总数不…

Linux->线程互斥

目录 前言&#xff1a; 1 线程互斥 1.1 多线程并发问题 1.2 线程锁 1.3 锁的接口 2 线程安全与可重入函数 3 死锁 前言&#xff1a; 本篇文章主要讲解了线程互斥的实现方式&#xff0c;还有原理&#xff0c;并附上代码讲解。并且讲解了锁的概念&#xff0c;问题等。 1 线…

C++进阶—继承(上)简单特性

目录 1.继承的概念及定义 1.1继承的概念 1.2 继承定义 1.2.1定义格式 1.2.2继承关系和访问限定符 1.2.3继承基类成员访问方式的变化 2.基类和派生类对象赋值转换 3.继承中的作用域 4.派生类的默认成员函数 5.继承与友元 6. 继承与静态成员 1.继承的概念及定义 1.1继承…

OpenSSL生成SSL证书,受浏览器信任吗?

OpenSSL是用于传输层安全(TLS)协议的开源工具包&#xff0c;OpenSSL生成SSL证书能受到浏览器信任吗&#xff1f;OpenSSL生成SSL证书能不能用于网站HTTPS加密呢&#xff1f; OpenSSL是什么&#xff1f; OpenSSL是基于密码学的用于传输层安全(TLS)协议的开源工具包&#xff0c;可…

【U8+】取消用友U8软件登录界面记住密码功能

【需求描述】 由于用友U8结合远程软件使用&#xff0c; 并且为了简化操作&#xff0c;远程用户建立一个公用账户&#xff0c; 所有的U8用户都使用同一个远程用户登录&#xff0c; 但是各自有U8的账号&#xff0c;登录账套的时候&#xff0c;有操作员记录密码后&#xff0c;别的…

Springboot 核心注解和基本配置解读

目录 1. Springboot 入门与原理 1.1 Springboot 简介 1.1.1 什么是Springboot 1.1.2 Springboot 主要优点 1.2 Springboot 相关注解 1.2.1 元注解 1.2.1.1 Target 1.2.1.2 Retention 1.2.2 Configuration 1.2.3 Import 1.2.3.1 直接注入 1.2.3.2 实现 ImportSelector…

Python基础语法2(超详细举例)

生活就是这样&#xff0c;有的时候即便你尽了最大努力&#xff0c;但依然无法得偿所愿 但是&#xff0c;难道向上攀爬的那条路不是比站在顶峰更令人热血澎湃吗&#xff1f; 文章目录 一、转义符 二、变量的赋值规则 三、数据类型 四、操作符 1.除法 2.幂运算 3.布尔运算…

读营销策划心得

读营销策划心得篇1 过去的一年可算是我工作上另一个转折点&#xff0c;更是一个新的开始。特别是自今年6月份接手营销策划工作&#xff0c;不知不觉&#xff0c;已有半年。回忆这一年的工作经历&#xff0c;有艰辛、有成长、有收获、更有前景。这一年既包含了太多的艰辛与不易&…

Redis【入门篇】---- 初始 Redis

Redis【入门篇】---- 初始 Redis 1. 认识NoSQL1. 结构化与非结构化2. 关联与非关联3. 查询方式4. 事务5. 总结 2. 认识Redis3. 安装Redis1. 依赖库2. 上传安装包并解压3. 启动4. 默认启动5. 指定配置启动6. 开机自启动 4. Redis桌面客户端1. Redis命令行客户端2. 图形化桌面客户…

2023年最新企业网盘排名!一文掌握各大企业网盘优缺点

近年来&#xff0c;企业网盘已经成为一个越来越流行的工具&#xff0c;为企业寻求简化他们的文件协作过程。由于团队成员分散在不同的位置和设备上&#xff0c;网盘提供了一种安全有效的方式来存储、共享和协作文件&#xff0c;为企业提供了一系列的好处&#xff0c;包括&#…

赚钱的底层模式和破局思路

赚钱的逻辑是什么&#xff0c;哪些价值观念的区别&#xff0c;让不同人在赚钱这件事情上产生巨大的差别&#xff1f; 如果从第一性原理出发&#xff0c;个体赚钱有哪些模式&#xff0c;以及如何优化&#xff1f; 一、出卖时间 本质上所有的赚钱方式都是出卖时间&#xff0c;…

车载开发中,蓝牙通信需要学习那些核心技术点?

车载蓝牙通信是指在汽车内部或车辆与外部设备之间使用蓝牙技术进行数据传输和通信。蓝牙5.0是现代蓝牙技术的最新版本&#xff0c;它引入了一系列新功能和改进&#xff0c;提供了更快的数据传输速度、更长的传输距离、更稳定的连接和更低的能耗。 那么车载蓝牙通信需要学习那些…

RabbitMQ实现延时消息的两种方法

RabbitMQ实现延时消息的两种方法 1、死信队列 1.1消息什么时候变为死信(dead-letter) 消息被否定接收&#xff0c;消费者使用basic.reject 或者 basic.nack并且requeue 重回队列属性设为false。消息在队列里得时间超过了该消息设置的过期时间&#xff08;TTL&#xff09;。消…

java 设计模式--创建者模式

参考&#xff1a;Java常见设计模式总结 概念 概念理解一&#xff1a;将复杂对象的创建过程分解在不同的方法中&#xff0c;不同的创建过程组装成不同对象。对象的创建与产品本身分离开&#xff0c;使得对象的创建过程更加清晰。例如&#xff1a;旅游套餐售卖场景。 一个套餐大…

@DateTimeFormat与@JsonFormat不完全解析

目录 前言测试代码DateTimeFormat不加任何注解的情况普通请求JSON请求 JsonFormat普通请求JSON请求 其他方式&#xff08;InitBinder&#xff09;结论源码地址 前言 一直以来对DateTimeFormat与JsonFormat 比较模糊&#xff0c;容易搞忘&#xff0c;今天就做个笔记&#xff0c…

【MySQL 利器之 mysqldump】

文章目录 前言一、mysqldump二、环境三、使用步骤1.服务器与服务器间直接同步2.导出到sql文件3.sql文件导入 总结使用方式 1 服务器间直连方式同步&#xff1a;使用中间SQL 文件方式&#xff1a;datax&#xff1a; 前言 1.随着服务器环境改造&#xff0c;新旧数据库环境更换&a…

微流控压力控制器和微流控注射泵的性能比较

摘要&#xff1a;针对微流控技术中的压力和流量控制&#xff0c;本文介绍了目前常用的两类装置&#xff1a;注射泵和压力泵&#xff0c;重点介绍了这两种装置的性能特点&#xff0c;并对这两种压力控制装置进行了简要的分析对比。分析结论是压力泵将逐渐替代注射泵的应用&#…

Addressable CRC设置详解

设置 Asset Bundle的CRC设置中有三个选项&#xff1a; Disable&#xff1b; Enable,InClude Cached; Enable,Excludeing Cached; 修改后实际改的是这里的选项&#xff1a; Disable 设置为Disable&#xff0c;实际上是将BundledAssetGroupSchema类的UseAssetBundleCrc参数设…

软考:软件工程:软件设计,总体设计,详细设计,耦合内聚流程图,NS图,PAD图,判定树判定图。

软考&#xff1a;软件工程: 提示&#xff1a;系列被面试官问的问题&#xff0c;我自己当时不会&#xff0c;所以下来自己复盘一下&#xff0c;认真学习和总结&#xff0c;以应对未来更多的可能性 关于互联网大厂的笔试面试&#xff0c;都是需要细心准备的 &#xff08;1&#…

【吃透网络安全】2023软考网络管理员考点网络安全(二)网络攻击详解

涉及知识点 黑客的攻击手段介绍&#xff0c;常见的网络攻击&#xff0c;软考网络管理员常考知识点&#xff0c;软考网络管理员网络安全&#xff0c;网络管理员考点汇总。 后面还有更多续篇希望大家能给个赞哈&#xff0c;这边提供个快捷入口&#xff01; 第一节网络管理员考…