vue3 + mars3D 三分钟画一个地球

mars3D开发文档:

http://mars3d.cn/docs/http://mars3d.cn/docs/

Vue组件中:

复制代码
<script setup lang="ts">
import * as mars3d from "mars3d"
import { onMounted} from "vue"
let map: mars3d.Map;
onMounted(() => {
  map = new mars3d.Map("key", {
  basemaps: [{ name: "天地图", type: "tdt", layer: "img_d", show: true }]
})
});

</script>

<template>

<div id="key" class="mars3d-container"></div>

</template>


<style scoped>

</style>

package.json:

复制代码
//已经省去无关代码
"dependencies": {
    //已经省去无关代码
    "mars3d": "^3.10.6",
    "mars3d-cesium": "^1.134.0",
    "mars3d-space": "^3.10.6",
    "vite-plugin-mars3d": "^4.2.2",
  },
  //已经省去无关代码

vite.config.ts:

复制代码
import { mars3dPlugin } from "vite-plugin-mars3d"
  //已经省去无关代码
  plugins: [
    //已经省去无关部分
    mars3dPlugin(),
    
  ],
  //已经省去无关代码

运行

pnpm i

pnpm run dev

效果图:

常见问题:

TypeError: Failed to execute 'createImageBitmap' on 'Window': The provided value is not of type '(Blob or HTMLCanvasElement or HTMLImageElement or HTMLVideoElement or ImageBitmap or ImageData or OffscreenCanvas or SVGImageElement or VideoFrame)'.

原因:当前开发阶段,后端暂无法提供服务,前端开发引入mockjs模拟后端接口响应数据。mockjs原生代码影响了cesium加载地图,

InvalidStateError: The source image could not be decoded.

原因:没有引入ars3d插件

解决:

在vite配置文件中加入mars3dPlugin():

复制代码
import { mars3dPlugin } from "vite-plugin-mars3d"
export default defineConfig({
  plugins: [
    //已经省去无关部分
    mars3dPlugin(),
    
  ],
  resolve: {
    alias: {
      '@': fileURLToPath(new URL('./src', import.meta.url))
    },
  },
})
相关推荐
爱读源码的大都督9 分钟前
Claude Code源码分析(三):为什么系统提示词中需要有tools呢?
前端·人工智能·后端
爱勇宝14 分钟前
Claude Code 被曝暗藏“隐形检测”代码:封代理不是最可怕的,可怕的是你根本不知道它在干什么
前端·后端·程序员
小牛不牛的程序员19 分钟前
我用 Claude Code 半天撸完了一个完整网站,AI 编程到底提升了多少效率?
前端
东风破_21 分钟前
JavaScript 面试常考的字符串算法:从反转字符串到回文判断
前端·javascript
ITOM运维行者35 分钟前
从零搭建企业级服务器监控体系:踩坑实录与架构设计
前端·后端
monologues39 分钟前
深入 Vue 3 源码:响应式系统的精妙设计与编译优化
前端
hunterandroid40 分钟前
Paging 3 分页:从手动分页到声明式加载
前端
用户40993225021242 分钟前
Vue状态管理入门第四章:组合式store和SSR风险
前端·vue.js·后端
Csvn1 小时前
CSS :has() 选择器实战:没有它之前我们写了多少冗余 JS
前端·css
梨子同志1 小时前
TypeScript
前端