基於vue框架的cesium開發


<p>
1.安裝Cesium開發環境(不能直接引入啦)
npm install cesium    //多試幾次,因為沒有翻牆的原因,各種麻煩

2.安裝完后,進入node_modules\cesium\Build文件夾中,把編譯好的Cesium文件復制到根目錄下的static文件夾中,里面應該是有四個文件夾,整個一起復制過去,把Cesium.js刪除

3.在build/webpack.base.conf.js中的output中加入sourcePrefix: ' ',讓Webpack正確縮進多行字符串。(直接加在最后就好啦,記得前面加上逗號)

4.在build/webpack.base.conf.js下的module中加入unknownContextCritical: false5.在build/webpack.base.conf.js下的module中加入unknownContextRegExp: /^.\/.*$//*    module: {
        rules: [
         .....
        ],
        unknownContextRegExp: /^.\/.*$/,
        unknownContextCritical: false
      }     */

OK,前面都配置好了,基本上可以使用了。
main.js中引入:
import Viewer from 'cesium/Source/Widgets/Viewer/Viewer'
import Cesium from 'cesium/Source/Cesium'  (這可是我自己找到,哼哼)
import buildModuleUrl from "cesium/Source/Core/buildModuleUrl"
import 'cesium/Source/Widgets/widgets.css'

這樣就能全局使用了

在你的組件中寫方法:
mounted:function(){
this.buildModuleUrl.setBaseUrl('../static/js/Cesium');  /*這個必須有,不然找不到你的組件哦 */
this.viewer = new this.Viewer('cesiumContainer',{
  terrainProvider: new this.Cesium.CesiumTerrainProvider({
    url: "http://assets.agi.com/stk-terrain/world",
    requestWaterMask: true,
    requestVertexNormals: true
  }),
  imageryProvider: new this.Cesium.UrlTemplateImageryProvider({
    url: "http://mt1.google.cn/vt/lyrs=s&hl=zh-CN&x={x}&y={y}&z={z}&s=Gali"
  }),
  geocoder: false, //搜索
  homeButton: false, //主頁 地球回正
  sceneModePicker: false, //地球平鋪 網格  3d/2d選擇器
  baseLayerPicker: false,
  animation: false, //是否創建動畫小器件,左下角儀表
  selectionIndicator: false,
  fullscreenButton: false,
  infoBox: false,
  navigationHelpButton: false, //是否顯示右上角的幫助按鈕
  timeline: false,
  baseLayerPicker: false //圖層選擇器
});
}

OJBK,這樣,你的容器中的地球就可以出來了!!!!!

還有還有,把cesium的源碼封裝一下吧,容易自己調用

首先:我是在assets文件夾中創建了一個js文件夾,
自己寫一個js  取名隨意,反正到時候可以設置名稱
export function xxx(xxxx){
...
}

在最下面

export default:{
xxx
}

最后,在你的組件中引用一下  就OJBK了!!!完美
新手vue ,說的不對大佬指教。
</p>

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM