VUE - Cesium引用
VUE - Cesium引用
环境: vue2 + vuecli4.5.13 + cesium 1.94.3
方式1:
1 | cnpm install cesium --save-dev |
操作:复制cesium安装包中的 node_modules\cesium\Build\Cesium 到 public\libs中
可直接在 public/index.html 中引用
1 2 3 | <!-- 引用cesium插件 --> <!-- <script src= "./libs/Cesium/Cesium.js" ></script> <link rel= "stylesheet" href= "./libs/Cesium/Widgets/widgets.css" > --> |
在main.js中初始化 Cesium key
1 | cesium.Ion.defaultAccessToken = 'xxxxxxxxxxxxxxxxxxxxxxx.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx' ; |
项目中可直接使用 Cesium变量,调用方式
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | let viewer = new Cesium.Viewer(viewerName, { distanceScaleOptions: true , navigationOptions: true , performanceOptions: true , rotationCenter: true , selectionIndicator: true , //选中 infoBox: false , //信息 shouldAnimate: true , geocoder: false , //查找位置工具,查找到之后会将镜头对准找到的地址,默认使用bing地图 homeButton: false , //视角返回初始位置 sceneModePicker: false , //选择视角的模式,有三种:3D,2D,哥伦布视图(2.5D) baseLayerPicker: false , //图层选择器,选择要显示的地图服务和地形服务 animation: false , //动画器件,控制视图动画的播放速度 navigationHelpButton: false , //导航帮助按钮,显示默认的地图控制帮助 timeline: true , //时间线,指示当前时间,并允许用户跳到特定的时间 fullscreenButton: false , //全屏按钮 // terrainProvider: Cesium.createWorldTerrain(), terrainProvider: null , // imageryProvider: null, // baseLayerPicker: false, //用来去掉地球表面的大气效果的黑圈问题 orderIndependentTranslucency: false , contextOptions: { webgl: { alpha: true , }, requestWebgl2: true , }, }); |
方法2:
1.
// 1、引入cesium相关文件 const CopyWebpackPlugin = require("copy-webpack-plugin"); const webpack = require("webpack"); let cesiumSource = "./node_modules/cesium/Source"; let cesiumWorkers = "../Build/Cesium/Workers";
configureWebpack: { // provide the app's title in webpack's name field, so that // it can be accessed in index.html to inject the correct title. name: name, // 2、cesium 进行配置 resolve: { alias: { "@": resolve("src"), "@crud": resolve("src/components/Crud"), "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("/") }) ] },
2. main.js 全局引入cesium相关文件
var cesium = require('cesium/Cesium'); var widgets= require('cesium/Widgets/widgets.css'); Vue.prototype.Cesium = cesium Vue.prototype.widgets = widgets
cesium.Ion.defaultAccessToken = 'xxxxxxxxxxxxxxxxxxxxxxx.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx';
3. 在组件中使用:
mounted() { var viewer = new this.Cesium.Viewer("cesiumContainer", {}); },
引用:http://www.manongjc.com/detail/25-flbagzwzyeyvrwm.html
分类:
前端方向 / 前端技术-VUE
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET10 - 预览版1新功能体验(一)