国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

vue項目引入cesium,創(chuàng)建3d地球,快速上手~

這篇具有很好參考價值的文章主要介紹了vue項目引入cesium,創(chuàng)建3d地球,快速上手~。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

最近開發(fā)的可視化項目中用到cesium庫,準備把自己從中學習的功能,全部記錄下來,完整項目demo預覽地址:點擊預覽完整項目

引入ceium

網(wǎng)上有很多種引入,在此只介紹一種最簡單的,也是本項目中使用的.
首先要先有一個cesium的庫,這里我建議直接npm下載,自己也可以從github下載

npm install cesium@1.8

因為不同版本可能有所出入,本系列都將采用1.82版本,之后在項目node_modules文件下找到我們下載好的依賴.

vue引入cesium,cesium筆記,vue.js,3d,javascript
之后我們找到cesium>build下的文件,框起來的文件就是我們需要的,第一個是經(jīng)過編譯壓縮的,第二個是完整未壓縮的,我建議兩個都拷貝走.開發(fā)的時候引入第一個,如果出現(xiàn)報錯會有報錯的詳細,而壓縮的則沒有,生產(chǎn)的時候換成壓縮的,體積小.之后復制到項目的public文件下

vue引入cesium,cesium筆記,vue.js,3d,javascript

然后在項目piblic下index.html引入該文件(以引入完整的為例)

      <!-- cesium導入 -->
      <script src="./Cesium2/Cesium.js"></script>
      <!-- cesium樣式文件 -->
      <link rel="stylesheet" href="./Cesium2/Widgets/widgets.css" />

初始化地球

初始化準備工作,先準備一個標簽

<template>
  <div>
    <div id="cesium-container"></div>
  </div>
</template>

注意這個標簽要設置寬高,不然你看不見東西.

  mounted() {
    this.init()
  },
  methods: {
    // 初始化
    init() {
      //要提前準備一個token(這個沒有也沒關系,后面我們不用這個)
      //Cesium 官網(wǎng)注冊的key https://ion.cesium.com/signin
      Cesium.Ion.defaultAccessToken = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiJmNDZkMmIwZS01ZTFmLTRlYTEtOGRjNy05M2I0MzU4OTlhZTMiLCJpZCI6MTMzNDUwLCJpYXQiOjE2ODEzNTM3OTN9.6fKSEcApT4KcZE-iTJp4HrNKjTlc3mgDYZuF79cL0Ig'
      //如果沒有上面的那個token,你生成的界面沒有地球是正常的
      //第一個參數(shù)是標簽的id,第二個參數(shù)是相關配置,我們先不寫
      new Cesium.Viewer('cesium-container', {})
    },
  }

之后看見下面的效果,就證明前面的都沒問題.

vue引入cesium,cesium筆記,vue.js,3d,javascript

文檔api介紹

推薦一個中文文檔,當然網(wǎng)上還有好多.
http://cesium.xin/cesium/cn/Documentation1.62/index.html
進入文檔,搜索剛才我們初始化的方法

vue引入cesium,cesium筆記,vue.js,3d,javascript
寫的很清楚,參數(shù)含義,使用方法.之后用不明白的可以查看文檔.

之后我們根據(jù)文檔的配置,去除我們不需要的功能,(我們只要一個地球)

    init() {
      //Cesium 官網(wǎng)注冊的key https://ion.cesium.com/signin
      Cesium.Ion.defaultAccessToken = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiJmNDZkMmIwZS01ZTFmLTRlYTEtOGRjNy05M2I0MzU4OTlhZTMiLCJpZCI6MTMzNDUwLCJpYXQiOjE2ODEzNTM3OTN9.6fKSEcApT4KcZE-iTJp4HrNKjTlc3mgDYZuF79cL0Ig'
      window.viewer = new Cesium.Viewer('cesium-container', {
        terrainProvider: Cesium.createWorldTerrain(),//創(chuàng)建全球范圍內(nèi)的地形數(shù)據(jù)集
        geocoder: false, // 是否顯示搜索按鈕
        homeButton: false, // 是否顯示主頁按鈕
        animation: false, // 是否顯示左下角的儀表盤
        baseLayerPicker: false, // 是否顯示圖層選擇器按鈕,右上角那個地圖圖標
        fullscreenButton: false, // 是否顯示全屏按鈕
        sceneModePicker: false, // 是否顯示右上角的模式切換按鈕
        selectionIndicator: false, // 是否顯示選取指示器組件
        timeline: false, // 是否顯示下邊的時間軸
        navigationHelpButton: false, // 是否顯示右上角的幫助按鈕

        vrButton: false, // 是否顯示VR按鈕
        infoBox: false, // 是否顯示提示信息
        navigationInstructionsInitiallyVisible: true, // 是不顯示導航
        scene3DOnly: true, // 是否指定僅為三維模式,全部使用三維模式可節(jié)約 GPU 資源
      })
      viewer.cesiumWidget.creditContainer.style.display = "none";// 隱藏Logo,水印
    },

之后再刷新頁面,就可以得到一個純凈的地球頁面

vue引入cesium,cesium筆記,vue.js,3d,javascript
到此我們就完成了一個可視化的3d地球.

封裝js

因為后面還有很多的功能,我們不可能每個組件內(nèi)都寫一堆cesium的代碼,所以我們將所有有關cesium的東西都封裝在一起,在需要的地方引入即可.
新建一個js文件,我們就叫Xcesium.js.之后將我們剛才初始化的方法加入到封裝類.(如果你后續(xù)不需要那么多功能,你也可以不封裝)

class XCesium {
  constructor() { }
  initData() {
    this.viewer = null
  }
  // 初始化
  init() {
    //Cesium 官網(wǎng)注冊的key https://ion.cesium.com/signin
    Cesium.Ion.defaultAccessToken = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiJmNDZkMmIwZS01ZTFmLTRlYTEtOGRjNy05M2I0MzU4OTlhZTMiLCJpZCI6MTMzNDUwLCJpYXQiOjE2ODEzNTM3OTN9.6fKSEcApT4KcZE-iTJp4HrNKjTlc3mgDYZuF79cL0Ig'
    this.viewer = new Cesium.Viewer('cesium-container', {
      terrainProvider: Cesium.createWorldTerrain(),//創(chuàng)建全球范圍內(nèi)的地形數(shù)據(jù)集
      geocoder: false, // 是否顯示搜索按鈕
      homeButton: false, // 是否顯示主頁按鈕
      animation: false, // 是否顯示左下角的儀表盤
      baseLayerPicker: false, // 是否顯示圖層選擇器按鈕,右上角那個地圖圖標
      fullscreenButton: false, // 是否顯示全屏按鈕
      sceneModePicker: false, // 是否顯示右上角的模式切換按鈕
      selectionIndicator: false, // 是否顯示選取指示器組件
      timeline: false, // 是否顯示下邊的時間軸
      navigationHelpButton: false, // 是否顯示右上角的幫助按鈕

      vrButton: false, // 是否顯示VR按鈕
      infoBox: false, // 是否顯示提示信息
      navigationInstructionsInitiallyVisible: true, // 是不顯示導航
      scene3DOnly: true, // 是否指定僅為三維模式,全部使用三維模式可節(jié)約 GPU 資源
      requestRenderMode: true, // 啟用請求渲染模式
      // https://map.geoq.cn/ArcGIS/rest/services/ChinaOnlineStreetPurplishBlue/MapServer
      // imageryProvider: new Cesium.ArcGisMapServerImageryProvider({
      //   url: 'https://map.geoq.cn/ArcGIS/rest/services/ChinaOnlineStreetPurplishBlue/MapServer'
      // })
    })
    this.viewer.cesiumWidget.creditContainer.style.display = "none";// 隱藏Logo,水印
    return this.viewer
  }
}
export default new XCesium()

之后在我們的組件引入

  • 我們把返回的實例掛載到window,不要用Viewer命名,容易混淆
  • 為什么掛載在window,因為vue.data對數(shù)據(jù)進行劫持,造成性能損耗
  • XViewer可以理解為我們創(chuàng)建的整個場景實例,可以直接.方法名調(diào)用官方的方法
  • XCesium是我們自己封的類,可以直接.方法名調(diào)用我們自己寫的方法
import  XCesium  from '@/utils/Xcesium.js'
export default {
  mounted() {
    //初始化
    window.XViewer = XCesium.init()
    console.log('window.XViewer', window.XViewer);
    console.log('XCesium',XCesium);
  },
}

vue引入cesium,cesium筆記,vue.js,3d,javascript
可以看到兩個輸出結果,XViewer是一個Viwer類,可以在官方文檔中搜索Viwer類方法使用,例如后面最常用的飛行flyTo聚焦zoomTo,而XCesium是我們自己封裝的類,后續(xù)我們寫的方法可以在此類下直接調(diào)用.

本文主要介紹如何引入cesium并生成3d地球,并在項目中封裝自己的cesium.后續(xù)教程基于此封裝繼續(xù)延伸!文章來源地址http://www.zghlxwxcb.cn/news/detail-537328.html

到了這里,關于vue項目引入cesium,創(chuàng)建3d地球,快速上手~的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內(nèi)容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • 在vite創(chuàng)建的vue3項目中使用Cesium加載czml路徑信息和無人機模型

    在vite創(chuàng)建的vue3項目中使用Cesium加載czml路徑信息和無人機模型

    用到的區(qū)域文件、地圖標記文件、路徑信息文件、模型文件 提取碼:99jq 使用vite創(chuàng)建vue3項目 cd到創(chuàng)建的項目文件夾中 安裝Cesium 配置 vite.config.js文件:添加Cesium并設置反向代理實現(xiàn)跨域。 style.css(可選):修改#app樣式 代碼 App.vue 解讀 加載token 創(chuàng)建查看器viewer,加載世界街道地

    2024年02月16日
    瀏覽(25)
  • 03.Three.js的入門教程(二)如何創(chuàng)建一個3D地球?

    03.Three.js的入門教程(二)如何創(chuàng)建一個3D地球?

    前言:通過上節(jié)課?02.Three.js的入門課程(一),我們了解了Three.js的最小案例DEMO,熟悉了幾個重要組成部分。這節(jié)課帶領大家編寫一個3D地球。 一、通過紋理圖渲染一個地球 1.1. 創(chuàng)建一個紋理加載器對象TextureLoader,可以加載圖片作為紋理貼圖; 1.2.完整代碼結構 二、小球標

    2024年02月04日
    瀏覽(89)
  • vue3 vite直接創(chuàng)建項目 添加 element-ui 按需引入和全部引入

    vue3 vite直接創(chuàng)建項目 添加 element-ui 按需引入和全部引入

    ?創(chuàng)建home 工程 yran dev就可以看到一個網(wǎng)址 點進去就可以看到效果了 添加element-ui 之前的main.js 修改后的 element-plus 在vue3中的按需引入。要比2簡介很多 。自動導入也是推薦的一種寫法 我們注釋掉全局引用 ?然后改為按需引入 源文件 ?修改后 首先安裝兩款插件 修改后

    2024年02月17日
    瀏覽(28)
  • 微信小程序引入高德地圖Demo 快速上手

    微信小程序引入高德地圖Demo 快速上手

    本文參照官方文檔進行編寫 最后引入官方實例 最終效果 ` 注冊賬號 https://lbs.amap.com/?ref=http%3A%2F%2Flbs.amap.com%2Fdev%2F#/ 獲取Key教程 https://lbs.amap.com/api/wx/guide/create-project/get-key/ 訪問網(wǎng)址 https://github.com/amap-demo/wx-regeo-poiaround-weather 下載微信小程序實例 用微信開發(fā)者工具打開 打開

    2024年02月11日
    瀏覽(109)
  • Echarts 3d地球實現(xiàn)(Vue框架)

    Echarts 3d地球實現(xiàn)(Vue框架)

    最近迷上了echarts實現(xiàn)數(shù)據(jù)可視化了,也確實因為工作需要,目前公司需要我們來在自己的新廠房展廳把自己的產(chǎn)品展示出來,我所在研發(fā)部軟件組,第一個想到的就是使用echarts來實現(xiàn)一個數(shù)據(jù)可視化的大屏了,下面就帶著大家看看我這段時間使用Echarts來實現(xiàn)一個3D地球的過

    2024年04月25日
    瀏覽(28)
  • 【Go語言快速上手(四)】面向對象的三大特性引入

    【Go語言快速上手(四)】面向對象的三大特性引入

    ??博主CSDN主頁:杭電碼農(nóng)-NEO?? ? ?專欄分類:Go語言專欄? ? ??代碼倉庫:NEO的學習日記?? ? ??關注我??帶你學習更多Go語言知識 ? ???? GO語言也支持面向對象編程,但是和傳統(tǒng)的面向對象語言(如CPP)有明顯的區(qū)別,GO并不是純粹的面對對象編程語言.所以說GO是支持面向對

    2024年04月26日
    瀏覽(30)
  • 【案例】3D地球(vue+three.js)

    【案例】3D地球(vue+three.js)

    需要下載插件 有人找不到合適的地球平面圖的話,可直接地球平面圖

    2024年02月06日
    瀏覽(25)
  • Vue 中使用Echarts構建3D地球

    Vue 中使用Echarts構建3D地球

    一:要用Echarts實現(xiàn)3D地球 除了 echarts還是遠遠不夠的 ,除了echarts外 我們?還得引用 echarts-gl? jquery 也是需要的 不然會有多次報錯 1.收首先在 main.js中分別引入所需的插件, 此外 除了在main.js中 在相應.vue 中也需要引用 使用echarts的3D功能 全局引入Echarts-gl 一般建議裝最低版本

    2024年02月12日
    瀏覽(28)
  • Cesium引入vite + vue3

    Cesium引入vite + vue3

    卸載命令 使用 vite.config.js 組件使用 加載高德地圖 高德地圖的加載方便很多,并不需要申請key,可以直接加載到我們的Cesium中。 加載ArcGISMap地圖

    2024年02月14日
    瀏覽(23)
  • vue3+echarts實現(xiàn)3D地球+飛線

    vue3+echarts實現(xiàn)3D地球+飛線

    效果圖 1、下載 ? ? ? ? 指令 我的版本: 2、html容器 3、js代碼 附加紋理圖

    2024年02月04日
    瀏覽(25)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包