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))
    },
  },
})
相关推荐
我是大卫2 小时前
【图】React源码解析-从数据结构、调度器、源码设计模式到状态计算引擎,深挖useReducer原理
前端·react.js·源码
willes2 小时前
列表中的倒计时组件
前端
LVZ2 小时前
用了半年 AI 写代码,最烦的不是代码,是环境
前端·后端·开源
polaris_tl2 小时前
一行 `compress: false`,为什么让 SSE 首包恢复实时返回
前端
海边的云2 小时前
别再让 AI 瞎改代码:一套让大模型「收敛」的前端专家 Skill》
前端
kisshyshy2 小时前
给端侧大模型装上“发动机”:React 合成事件 + 进度条组件全解
前端·react.js·node.js
hunterandroid2 小时前
DataStore 工程化实践:迁移、并发更新与异常恢复
android·前端
晓说前端2 小时前
TypeScript 核心语法进阶 —— 字面量类型与类型推论
前端·typescript
不简说3 小时前
JS 代码技巧 vol.8 — 20 个函数式编程实战,把 if/else 拍扁的骚操作
前端·javascript·面试
头茬韭菜3 小时前
4.9 SSRF 防护 — Web 工具的出站安全与私有 IP 拦截
前端·tcp/ip·安全