Cesium学习之路(一):环境搭建

前言:

最近又是心血来潮啊,把cesium捞出来学习学习一波吧,思来想去还是来csdn上记录下学习的过程和心得吧。本来想在自己网站上贴练习的例子的。

这次学习cesium,是想结合自己有实际做GIS项目的经验和熟悉arcgis js api的经验,从实际的项目所需要的gis功能上针对性的去学习cesium可以实现的功能

好了,废话不多说,开始进入正题 -----------------环境的搭建


 

环境的搭建

本人的环境是vue 3 ,然后cesium 1.75

1.首先引入cesium 1.75的模块包,建议版本高于1.63,(记得1.63还是多少版本时cesium 采用的es6写法,引入相应类的时候好像有点改变)

怎么引入cesium依赖,不说了

2.在项目的根目录下建一个叫vue.config 的js文件,里面是如下的代码

const CopyWebpackPlugin = require('copy-webpack-plugin')
const webpack = require('webpack')
const path = require('path')

let cesiumSource = './node_modules/cesium/Source'
let cesiumWorkers = '../Build/Cesium/Workers'

module.exports = {
    // 基本路径  3.6之前的版本时 baseUrl
    publicPath: "./",
    // 输出文件目录
    outputDir: "dist",
    // eslint-loader 是否在保存的时候检查
    lintOnSave: false,
    // webpack-dev-server 相关配置
    devServer: {
        open: process.platform === "darwin",
        host: "0.0.0.0",
        port: 5000,
        https: false,
        hotOnly: false
    },
    configureWebpack: {
        output: {
            sourcePrefix: ' '
        },
        amd: {
            toUrlUndefined: true
        },
        resolve: {
            alias: {
                'vue$': 'vue/dist/vue.esm.js',
                '@': path.resolve('src'),
                'cesium': path.resolve(__dirname, cesiumSource)
            }
        },
        plugins: [
            new CopyWebpackPlugin([{ from: path.join(cesiumSource, cesiumWorkers), to: 'Workers' }]),
            new CopyWebpackPlugin([{ from: path.join(cesiumSource, 'Assets'), to: 'Assets' }]),
            new CopyWebpackPlugin([{ from: path.join(cesiumSource, 'Widgets'), to: 'Widgets' }]),
            new CopyWebpackPlugin([{ from: path.join(cesiumSource, 'ThirdParty/Workers'), to: 'ThirdParty/Workers' }]),
            new webpack.DefinePlugin({
                CESIUM_BASE_URL: JSON.stringify('./')
            })
        ],
        module: {
            unknownContextCritical: /^.\/.*$/,
            unknownContextCritical: false
        }
    }
};

3.在main.js中加入:

//引入cesium
var Cesium = require('cesium/Cesium');
var widgets= require('cesium/Widgets/widgets.css');

Vue.prototype.Cesium = Cesium
Vue.prototype.widgets = widgets

4.在页面调用:

var viewer = new that.Cesium.Viewer("cesiumContainer");

我在前面加个that. 是因为我在main.js里注册的Cesium,根据你们自己实际情况


十年生死两茫茫,写程序,到天亮。
千行代码,Bug何处藏。 
纵使上线又怎样,朝令改,夕断肠。 
领导每天新想法,天天改,日日忙。
相顾无言,惟有泪千行。
每晚灯火阑珊处,夜难寐,又加班。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
Cesium是一个用于创建三维地球和地球数据可视化的开源JavaScript库。Vue是一个用于构建用户界面的渐进式JavaScript框架。在搭建Cesium和Vue2环境之前,确保你已经在电脑上安装好了Node.js和npm。 首先,我们需要创建一个新的Vue项目。打开终端或命令提示符,输入以下命令来创建一个新的Vue项目: ``` vue create cesium-vue-demo ``` 接下来,选择手动配置,然后按照默认设置一步一步进行配置。当配置工具询问你是否要选择预设配置或手动选择特性时,请选择手动选择。 然后,在第一项核心功能中选择了Babel、Router和Vuex,第二项选中了CSS Pre-processors,第三项不选择Linter/Formatter。 完成配置后,进入项目目录: ``` cd cesium-vue-demo ``` 然后,我们需要安装Cesium依赖。在终端中输入以下命令: ``` npm install cesium --save ``` 安装完成后,我们需要修改webpack配置,以便正确加载Cesium依赖。打开`vue.config.js`文件,输入以下内容: ```javascript module.exports = { // ... configureWebpack: { output: { // 修改打包后静态文件的路径 publicPath: './' }, amd: { // 添加一个module文件的对外映射关系 toUrlUndefined: true }, // 解决加载Cesium的路径问题 resolve: { alias: { cesium: path.resolve(__dirname, 'node_modules/cesium/Source') } }, // 设置全局变量 plugins: [ new webpack.DefinePlugin({ CESIUM_BASE_URL: JSON.stringify('./') }) ] }, // ... } ``` 然后,我们需要在Vue组件中引入Cesium。在`App.vue`文件中添加以下代码: ```javascript <template> <div id="cesiumContainer"></div> </template> <script> import * as Cesium from 'cesium' export default { mounted() { const viewer = new Cesium.Viewer('cesiumContainer') // 添加Cesium代码 } } </script> ``` 最后,运行以下命令启动Vue项目: ``` npm run serve ``` 现在,你已经成功搭建了一个Cesium和Vue2的环境。你可以在`App.vue`中添加Cesium代码来创建三维地球和地球数据可视化应用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Giser_往事随风

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值