版本,我用的是cli4.5和Cesium1.74
1. 创建vue项目
vue create 项目名
2. 安装Cesium
进入项目目录,输入下面代码
npm install cesium
3. 创建vue.config.js文件
在项目根目录创建vue.config.js文件,并在复制下面代码到文件内
const CopyWebpackPlugin = require('copy-webpack-plugin')
module.exports = {
configureWebpack: {
plugins: [
new CopyWebpackPlugin([{ from: 'node_modules/cesium/Build/Cesium/Workers', to: 'Workers' }]),
new CopyWebpackPlugin([{ from: 'node_modules/cesium/Build/Cesium/ThirdParty', to: 'ThirdParty' }]),
new CopyWebpackPlugin([{ from: 'node_modules/cesium/Build/Cesium/Assets', to: 'Assets' }]),
new CopyWebpackPlugin([{ from: 'node_modules/cesium/Build/Cesium/Widgets', to: 'Widgets' }])
]
}
}
- 创建CesiumDemo.vue文件
注意:需要提前在https://cesium.com/ion/tokens网站注册账号,然后获取token,然后修改 Cesium.Ion.defaultAccessToken 里的token。
在components目录创建CesiumDemo.vue文件,输入下列代码
<template>
<div id="cesiumContainer"></div>
</template>
<script>
window.CESIUM_BASE_URL = '/'
import * as Cesium from 'cesium'
import 'cesium/Build/Cesium/Widgets/widgets.css'
export default {
name: 'CesiumDemo',
mounted() {
// Your access token can be found at: https://cesium.com/ion/tokens.
Cesium.Ion.defaultAccessToken = '自己的token'
// Initialize the Cesium Viewer in the HTML element with the "cesiumContainer" ID.
const viewer = new Cesium.Viewer('cesiumContainer', {
terrainProvider: Cesium.createWorldTerrain()
})
// Add Cesium OSM Buildings, a global 3D buildings layer.
// const buildingTileset = viewer.scene.primitives.add(Cesium.createOsmBuildings())
// Fly the camera to San Francisco at the given longitude, latitude, and height.
viewer.camera.flyTo({
destination: Cesium.Cartesian3.fromDegrees(-122.4175, 37.655, 400),
orientation: {
heading: Cesium.Math.toRadians(0.0),
pitch: Cesium.Math.toRadians(-15.0)
}
})
}
}
</script>
<style></style>
- 运行项目
npm run serve