Vue3项目中集成mars3D简单三部曲

Vue3项目中集成mars3D简单三部曲

这里是参考网址,大佬可以点击一件跳转

1.安装依赖

npm install vite-plugin-mars3d --save-dev

2.修改 vite.config.ts 配置文件

import { defineConfig } from 'vite';
import { mars3dPlugin } from 'vite-plugin-mars3d';

export default defineConfig({
  plugins: [mars3dPlugin()]
});

3. 新建DIV容器 + 创建地图

新建map.ts文件,以下代码闭眼直接copy

import * as mars3d from "mars3d"
import { Cesium } from "mars3d"

import "mars3d/dist/mars3d.css";
import "mars3d-cesium/Build/Cesium/Widgets/widgets.css";
//必须有这两行css,否则地球出来了,样式还是乱的
export function initMap() {
  // 创建三维地球场景
  const map = new mars3d.Map("mars3dContainer", {
    scene: {
      center: { lat: 30.054604, lng: 108.885436, alt: 17036414, heading: 0, pitch: -90 },
      showSun: true,
      showMoon: true,
      showSkyBox: true,
      showSkyAtmosphere: false, // 关闭球周边的白色轮廓 map.scene.skyAtmosphere = false
      fog: true,
      fxaa: true,
      globe: {
        showGroundAtmosphere: false, // 关闭大气(球表面白蒙蒙的效果)
        depthTestAgainstTerrain: false,
        baseColor: "#546a53"
      },
      cameraController: {
        zoomFactor: 3.0,
        minimumZoomDistance: 1,
        maximumZoomDistance: 50000000,
        enableRotate: true,
        enableZoom: true
      },
      mapProjection: mars3d.CRS.EPSG3857, // 2D下展示墨卡托投影
      mapMode2D: Cesium.MapMode2D.INFINITE_SCROLL// 2D下左右一直可以滚动重复世界地图
    },
    control: {
      baseLayerPicker: false, // basemaps底图切换按钮
      homeButton: false, // 视角复位按钮
      sceneModePicker: false, // 二三维切换按钮
      navigationHelpButton: false, // 帮助按钮
      fullscreenButton: true, // 全屏按钮
      contextmenu: { hasDefault: false } // 右键菜单
    },
    terrain: {
      url: "//data.mars3d.cn/terrain",
      show: true
    },
    basemaps: [
      {
        name: "天地图影像",
        icon: "img/basemaps/tdt_img.png",
        type: "tdt",
        layer: "img_d",
        show: true
      }
    ] as any,
  })

  // 打印测试信息
  console.log("mars3d的Map主对象构造完成", map)
  console.log("其中Cesium原生的Cesium.Viewer为", map.viewer)

  return map
}

vue文件引入map.ts,以下代码闭眼直接copy

<template>
  <div>
    <div id="mars3dContainer" class="mars3d-container"></div> //新建DIV容器
  </div>
</template>

<script setup lang="ts">

import { onMounted, ref } from 'vue';
import * as WorkerMap from "./map";
onMounted(async () => {
  WorkerMap.initMap();
});
</script>

<style scoped lang="scss">
</style>

在这里插入图片描述

快去试试吧~

  • 10
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
要创建一个 Mars3DVue3 项目,你可以按照以下步骤进行操作: 1. 首先,确保你的开发环境已经安装了 Node.js。你可以在命令行输入 `node -v` 来检查是否已安装。 2. 打开命令行工具,进入你要创建项目的目录。 3. 使用 Vue CLI 创建一个新的 Vue3 项目。在命令行运行下面的命令: ``` vue create my-mars3d-project ``` 这会提示你选择一个预设配置或手动配置。你可以选择手动配置,并且在特性选择勾选 Babel、TypeScript、Router、Vuex 和 CSS Pre-processors(根据你的需求选择)。 4. 进入项目目录: ``` cd my-mars3d-project ``` 5. 安装 Mars3D 的依赖: ``` npm install mars3d ``` 6. 在 `src` 目录下创建一个新的文件,比如 `Mars3D.vue`,并在其编写你的 Mars3D 代码。 7. 在 `src/main.js` 文件导入 Mars3D 组件,并在 Vue 实例使用它: ```javascript import Vue from 'vue' import App from './App.vue' import Mars3D from './Mars3D.vue' Vue.component('mars3d', Mars3D) new Vue({ render: h => h(App), }).$mount('#app') ``` 8. 在 `App.vue` 文件使用 Mars3D 组件: ```vue <template> <div id="app"> <mars3d></mars3d> </div> </template> <script> export default { name: 'App', } </script> ``` 9. 运行项目: ``` npm run serve ``` 这将启动开发服务器并运行你的 Mars3D Vue3 项目。 现在,你可以根据自己的需求进一步开发和定制你的 Mars3D Vue3 项目了。希望这些步骤能对你有所帮助!
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值