1.获取 Mars3D 从 npm 获取
使用Node环境下的现代web前端技术栈时,可以使用npm或cnpm或yarn等方式来安装mars3d包

//安装mars3d主库
npm install mars3d --save   //安装mars3d插件(按需安装)
npm install mars3d-space --save

2.在main.js引入Mars3D类库
使用Node环境下的现代web前端技术栈时,可以使用npm等来安装mars3d包并import导入后来使用。

import Vue from 'vue'
import App from './App.vue'
//在main.js中加入下面代码
import 'mars3d/dist/mars3d.css'
import * as mars3d from 'mars3d'//导入mars3d插件(按需使用,需要先npm install)
import 'mars3d-space'//可以绑定下vue原型链,可以全局使用
Vue.prototype.mars3d = mars3d;//在具体使用的vue等文件中
//直接使用 this.mars3d 进行相关调用。
window.mars3d= mars3d
Vue.config.productionTip = falsenew Vue({render: h => h(App),
}).$mount('#app')

3.安装copy-webpack-plugin

因为mars3d所依赖的Cesium是一个多文件资源的js库,需要对其依赖的一些资源文件进行拷贝处理(这也是容易出问题的地方), 下面已Webpack技术栈为例,vue等其他技术栈类似(可以参考项目模板说明处理。
这里指定5.0版本,因为高于这个版本会报错

npm install copy-webpack-plugin@5.0.0 -save --dev

4.修改项目配置 vue.config.js,如建项目时没有这个文件,可在项目根目录新建,配置文件配置方法代码如下:


// webpack.config.js  或 vue.config.js
const path = require('path')
const webpack = require('webpack')
const CopyWebpackPlugin = require('copy-webpack-plugin')
const cesiumSource = 'node_modules/mars3d-cesium/Build/Cesium/'module.exports = {publicPath: './',outputDir: 'dist',assetsDir: './static',productionSourceMap: false,lintOnSave: false,configureWebpack: {plugins: [new webpack.DefinePlugin({CESIUM_BASE_URL: JSON.stringify('static')}),//vue3 start---------------------------------------------------------------------------------/* new CopyWebpackPlugin({patterns: [{ from: path.join(cesiumSource,'Workers'), to: 'static/Workers' }]}),new CopyWebpackPlugin({patterns: [{ from: path.join(cesiumSource,'Assets'), to: 'static/Assets' }]}),new CopyWebpackPlugin({patterns: [{ from: path.join(cesiumSource,'ThirdParty'), to: 'static/ThirdParty' }]}),new CopyWebpackPlugin({patterns: [{ from: path.join(cesiumSource,'Widgets'), to: 'static/Widgets' }]}) *///vue3 end-----------------------------------------------------------------------------------//vue2 start---------------------------------------------------------------------------------new CopyWebpackPlugin([{ from: path.join(cesiumSource,'Workers'), to: 'static/Workers' }]),new CopyWebpackPlugin([{ from: path.join(cesiumSource,'Assets'), to: 'static/Assets' }]),new CopyWebpackPlugin([{ from: path.join(cesiumSource,'ThirdParty'), to: 'static/ThirdParty' }]),new CopyWebpackPlugin([{ from: path.join(cesiumSource,'Widgets'), to: 'static/Widgets' }])//vue2 end-----------------------------------------------------------------------------------]},/*  devServer: {port: 8081,open: true,proxy:  {//可以配置多个,(如果要同时请求第三方和后台服务器,可以配置多个,分别代理)'/proxy': {'target': 'http://localhost:8080/', //第三方接口地址'secure': true, // false为http访问,true为https访问'changeOrigin': true, // 跨域访问设置,true代表跨域'pathRewrite': { // 路径改写规则'^/proxy': '/' // 以/proxy/为开头的改写为'/'             }}}} */
}

5.新建div容器并使用mars3d.Map方法创建地球(这里为了方便演示我直接写在App.vue里)

<template><div id="app">地图<div id="mars3dContainer" class="mars3d-container"></div><!-- <img alt="Vue logo" src="./assets/logo.png"><HelloWorld msg="Welcome to Your Vue.js App"/> --></div>
</template><script>
// import HelloWorld from './components/HelloWorld.vue'export default {name: "App",methods: {init() {var mapOptions = {basemaps: [{ name: "天地图", type: "tdt", layer: "img_d", show: true }],};var map = new mars3d.Map("mars3dContainer", mapOptions);},},mounted() {this.init();},
};
</script><style>#mars3dContainer{height: 1000px;}
</style>

6.npm run serve 运行项目实例,即可出现一个白色地球,地图的各种样式在上面的init()方法中自行创建

Vue2项目引入mars3d相关推荐

  1. Vue2项目引入vant报错问题解决export ‘isVNode‘ (imported as ‘isVNode‘)

    首次使用vue2项目安装vant,在基本配置完成之后使用vant组件出现了如下错误: 报错原因:vue版本和vant版本不一致,我这里是vue 2安装了vant 3 版本 解决方案: 步骤一:卸载va ...

  2. vue2项目引入ts实操记录(一)

    背景: vue2+ElementUi 原因: 之所以要在vue2中引入ts,是为了规范项目,更是为了后面学习vue3+ts做准备. 移入ts修改思路: 先修改.vue文件-----------再修改全 ...

  3. vue2项目引入社交分享插件vshare

    vshare 基于百度分享开发的支持VUE2.X的分享插件,为您带来更多的流量!提供多种风格按钮,代码加载更快,引入社会化流量,提升网页抓取速度等优点. github地址:https://github ...

  4. vue2项目引入vue-video-player

    直接安装npm install vue-video-player --save报错 指定版本:npm install vue-video-player@5.0.1 --save vue-video-p ...

  5. Vue2项目引入矢量图报错(显示□)

    常规来说,在assist文件夹下建立icon,并且把下载的文件包一股脑装进去,然后在main.js导入样式即可. 但是我尝试多次无论是 APP.VUE或者main.js 均无效. 回到public文件 ...

  6. 前端vue2项目引入第三方js文件或者远程js文件并执行相应方法

    啥也不多说,直接上结论 新建一个目录和文件例如: ./tools/load.js //引入远程js,加载完成后执行相应方法 function loadJs(src) {return new Promi ...

  7. 超级详细的手写webpack4配置来启动vue2项目(附配置作用)

    基础目录结构以及各个文件的作用 初始npm项目 npm init 一路回车,一律使用默认的npm项目配置 package.json修改scripts 如下: {"name": &q ...

  8. 使用 Vue3 重构 Vue2 项目(长文)

    前言 2020年9月18日,vue3正式版发布了,前几天把文档整体读了一遍,感触很深,可以解决我项目中的一些痛点,于是就决定重构之前那个vue2的开源项目. 本篇文章就记录下重构vue2项目的过程,欢 ...

  9. 前端Vue2项目开发常用依赖

    前端Vue2项目开发常用依赖 一.常用依赖 1.axios请求库 2.core-js 开源库zloirock/core-js 提供了es5.es6的polyfills,包括promises.symbo ...

  10. vue2项目使用高德api内嵌地图,点标记+行政区分颜色

    前言:公司想在vue2项目中嵌入海南省的地图,在地图上标记出一些地址信息,省内的县区等各个区块展示不同的颜色,需求不是很难. 官网:https://lbs.amap.com/api/jsapi-v2/ ...

最新文章

  1. php 如何得到 file_get_contents 数据,如何使用file_get_contents在PHP中发布数据?
  2. Jenkins+SonarQube6.5.5+SonarScanner2.5代码质量管理平台
  3. 巴奴与海底捞的战争背后,“单品即品牌”战略到底香不香?
  4. list转datatable
  5. 唐山师范学院计算机论文,唐山师范学院校园网络解决方案 毕业论文
  6. 测试人员要了解的知识
  7. 可视化工具Navicat for MySQL-操作三
  8. python数据结构中文版_Python官方入门教程_中文版_5.数据结构
  9. 格式化输出的函数printf()用法
  10. WCF分布式开发必备知识(4):Web Service(转)
  11. Redis学习之字典源码分析
  12. c语言jni调用外部函数,(转)JNI调用C函数
  13. java 65533,java导出excel超出65533行
  14. 远程桌面无法复制粘贴传输文件解决办法
  15. 解决win10下 Virtual Box USB功能无法使用问题
  16. 你所不知道的Activity转场动画——ActivityOptions
  17. vc调试总是提示项目已过期
  18. Scratch滚动的天空(2)
  19. Palindromic Tree——回文树(回文自动机)
  20. Virtualbox 多重加载 高级功能介绍

热门文章

  1. C语言8.14文曲星上的猜数游戏
  2. 利用scrapy爬取新浪体育新闻的小例子
  3. 我的大学十年 (转)
  4. idea-统计代码行数Statistic
  5. matplotlib科研绘图---Times New Roman字体设置
  6. C语言之va_list
  7. jQuery根据纬度经度查看地图
  8. css动画效果-animation
  9. 数据库mysql实训报告_数据库实训报告.doc
  10. postman更换皮肤