1.Cesium介绍及环境配置

简介: 本文中我们介绍了cesium开发环境的配置,以及vue中cesium页面的初始化

 

image.gif编辑

前言

鸽了半年,flag立的太多,稿子存了100多篇,都没有开始排版整理,这些天正好学习cesium,决定每天更新一篇,提提神!🤔😲😁

一、Cesium简介

image.gif编辑

Cesium是一个用于显示三维地球的开源库,旨在释放3D数据的力量³。它基于WebGL技术,能够在Web平台搭建虚拟地球及场景展示应用³。

Cesium支持3D,2D,2.5D形式的地图展示,可以自行绘制图形,高亮区域,并提供良好的触摸支持,且支持绝大多数的浏览器和移动端⁷。

二、相关文档

    三、环境配置

    3-1 安装

    使用包管理器

    npm install cesium

    image.gif

    浏览器CDN直接引入

    <script src="./cesium1.99//Build/Cesium/Cesium.js"></script>
    <link rel="stylesheet" href="./cesium1.99//Build/Cesium/Widgets/widgets.css">

    image.gif

    安装文件

    Downloads – Cesium

    3-2 用法

    vue

    //直接导入即可
    import * as Cesium from "cesium";//为了保证和html页面代码一致,这里也命名为Cesium

    image.gif

    html

    //导入就可以使用了
    <script src="../Cesium-1.99/Build/Cesium/Cesium.js"></script>
    <link rel="stylesheet" href="../Cesium-1.99/Build/Cesium/Widgets/widgets.css">

    image.gif

    四、应用案例

    要运行Cesium程序,我们需要一个本地web服务器来承载我们的文件。我们可以使用node.js和其他教程来设置一个node.js服务⁵。方便起见,这里我们使用国内常用的Vue3组合式API的环境和原生js的html进行实现。token申请阅读:

    4-1 vue3实现

    <template>
      <div id="cesiumContainer"></div>
    </template>
    <script setup>
      import * as Cesium from "cesium";
      import { onMounted, ref } from "vue";
      //必须在挂载后引入cesium地图组件
      onMounted(() => {
        Cesium.Ion.defaultAccessToken ="<your cesium token>";
        const esri = new Cesium.ArcGisMapServerImageryProvider({
          url: "https://services.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer",
          enablePickFeatures: false,
        });
        //实例化cesium对象
        //Viewer的第一个参数就是承载地图组件的DOM元素的id
        const viewer = new Cesium.Viewer("cesiumContainer", {
          imageryProvider: esri, //默认的谷歌地图影像  这里修改为esri的影像图层
          //地形图层TerrainProvider
          terrainProvider: Cesium.createWorldTerrain({
            //水面特效
            requestWaterMask: true, 
          }), //viewer是所有api的入口
        });
      });
    </script>
    <style scoped>
      #cesiumContainer {
        width: 100vw;
        height: 100vh;
        overflow: hidden;
      }
    </style>

    image.gif

    目前,大多数平台和浏览器都支持WebGL,在这些环境下运行Cesium并没有太大的问题,但加载的数据是3Dtiles数据,就需要对电脑性能有要求了。

    4-2 原生JavaScript实现

    <!DOCTYPE html>
    <html lang="en">
      <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <script src="../Cesium-1.99/Build/Cesium/Cesium.js"></script>
        <link rel="stylesheet" href="../Cesium-1.99/Build/Cesium/Widgets/widgets.css">
        <title>Document</title>
        <style>
          #cesiumContainer {
            width: 100vw;
            height: 100vh;
            overflow: hidden;
          }
        </style>
      </head>
      <body>
        <div id="cesiumContainer"></div>
        <script>
          const esri = new Cesium.ArcGisMapServerImageryProvider({
            url: "https://services.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer",
            enablePickFeatures: false,
          });
          Cesium.Ion.defaultAccessToken = '<your cesium token>'
          //viewer是所有api的入口
          const viewer = new Cesium.Viewer('cesiumContainer', {
            //默认的谷歌地图影像  这里修改为esri的影像图层
            imageryProvider: esri,
            //地形图层TerrainProvider
            terrainProvider: Cesium.createWorldTerrain({
              //水面特效
              requestWaterMask: true,
            }),
          });
        </script>
      </body>
    </html>

    image.gif

    五、文章参考

    (1) Cesium 简介 | Cesium 入门教程 - syzdev. Cesium 简介 | Cesium 入门教程.

    (2) vue框架集成cesium“黑科技” - 知乎 - 知乎专栏. vue框架集成cesium“黑科技” - 知乎.

    (3) Cesium安装以及环境配置cecium 客户端硬件配置李树林gis的博客-CSDN博客. Cesium安装以及环境配置_cecium 客户端硬件配置_李树林gis的博客-CSDN博客.

    (4) 让GIS三维可视化变得简单-初识Cesium - 掘金. 让GIS三维可视化变得简单-初识Cesium - 掘金.

    (5) cesium简介_右弦GISer的博客-CSDN博客. cesium简介_右弦GISer的博客-CSDN博客.

    (6) Cesium简介 - laixiangran - 博客园. https://www.cnblogs.com/laixiangran/p/4984522.html

    (7) Vue2中配置Cesium的环境 - 掘金. Vue2中配置Cesium的环境 - 掘金.

    (8) Cesium开发入门篇 | 01Cesium介绍 - 知乎 - 知乎专栏. Cesium开发入门篇 | 01Cesium介绍 - 知乎.

    目录
    相关文章
    |
    JavaScript 前端开发 定位技术
    Cesium介绍和入门
    这篇文章介绍了Cesium的基本概念及其在Web开发中的应用,包括如何集成Cesium并使用它来创建和展示3D地图。
    1231 4
    Cesium介绍和入门
    Cesium开发:模型实体高亮
    Cesium开发:模型实体高亮
    1007 0
    |
    Ubuntu Linux
    Linux:查看服务器信息,CPU、内存、系统版本、内核版本等
    Linux:查看服务器信息,CPU、内存、系统版本、内核版本等
    6946 0
    Linux:查看服务器信息,CPU、内存、系统版本、内核版本等
    |
    安全 Linux iOS开发
    Anaconda下载及安装保姆级教程(详细图文)
    Anaconda下载及安装保姆级教程(详细图文)
    34748 1
    Anaconda下载及安装保姆级教程(详细图文)
    |
    算法 Serverless
    Neo4j支持模糊匹配吗
    Neo4j支持模糊匹配吗
    565 6
    |
    9月前
    |
    关系型数据库 Linux 数据库
    PostgreSQL 入门指南:安装、配置与基本命令
    本文从零开始,详细介绍如何在 Windows、Linux 和 macOS 上安装和配置 PostgreSQL,涵盖30+个实操代码示例。内容包括安装步骤、配置远程访问和用户权限、基础数据库操作命令(如创建表、插入和查询数据),以及常见问题的解决方案。通过学习,你将掌握 PostgreSQL 的基本使用方法,并为后续深入学习打下坚实基础。
    10011 1
    |
    机器学习/深度学习 编解码 监控
    目标检测实战(六): 使用YOLOv8完成对图像的目标检测任务(从数据准备到训练测试部署的完整流程)
    这篇文章详细介绍了如何使用YOLOv8进行目标检测任务,包括环境搭建、数据准备、模型训练、验证测试以及模型转换等完整流程。
    21129 59
    目标检测实战(六): 使用YOLOv8完成对图像的目标检测任务(从数据准备到训练测试部署的完整流程)
    |
    9月前
    |
    数据可视化 前端开发 JavaScript
    地图可视化的艺术:深入比较Mapbox、OpenLayers、Leaflet和Cesium,不同场景下应如何选择地图库
    选择合适的地图库取决于项目的需求、团队的技术栈以及预算等因素。简单来说,新手可以从leaflet入手;GIS开发使用openlayers会更顺手一些;mapbox适应大多数2D和2.5D场景,可视化效果好,但是不开源;cesium更侧重于3D场景。 只有锻炼思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出
    |
    9月前
    |
    前端开发 定位技术 API
    Mapbox添加行政区矢量图层,Mapbox添加分级设色图层,Mapbox添加文本标记图层,Mapbox给行政区矢量数据添加名称,Mapbox自定义鼠标悬浮框,Mapbox添加天地图底图
    Mapbox的中国分部好像在2021年左右就退出中国了,官方文档的汉化工作也戛然而止,相关的社区建设也相当欠缺,内容比较混乱,最离谱的是mapbox官方底图库中的中国地图基本都是错的,天地图引入又麻烦...... 恰好我最近有一个基础的mapbox应用需求,就做了一些整理和探索,分享给大家。 博客不应该只有代码和解决方案,重点应该在于给出解决方案的同时分享思维模式,只有思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来
    |
    定位技术
    Cesium修改地球的贴图为视频或者图片
    这篇文章说明了如何在Cesium中修改地球的贴图,替换为自定义的图像或视频纹理。
    493 1
    Cesium修改地球的贴图为视频或者图片

    热门文章

    最新文章