mars3d使用

举报
林太白 发表于 2025/08/05 09:34:19 2025/08/05
【摘要】 mars3d使用

mars3d使用

1、认识

👉认识Mars3D

Mars3D是火星科技研发的一款基于 Web 的 3D 地理信息系统(GIS)库**,属于三维 GIS的一部分,适合城市和地理空间数据可视化,使用WebGL 技术可以将**城市地图、建筑物、道路网络等以 3D 形式展示。

Mars3D基于Cesium与B/S架构设计,轻量级高效能GIS开发平台,使用多种GIS数据和三维模型,呈现三维空间的可视化。

🍎主要功应用三维 GIS 场景

  • 智慧城市(建筑物管理、地下管网、环境监测)
  • 应急指挥(火灾模拟、洪水预警、无人机监控)
  • 交通管理(轨迹回放、车流分析、航线规划)
  • 国土资源(地质勘探、土壤分析)
  • 虚拟仿真(游戏场景、元宇宙)

🍎扩展性

**数据支持 **GeoJSON、KML、CZML、3D Tiles 等

支持地图、地形、地表的渲染与交互

可以与地理信息系统、地图服务(如百度地图、高德地图等)进行集成

👉Mars3D的官网

// 官方网址
http://mars3d.cn/

// 开发教程
http://mars3d.cn/dev/

//开发文档
http://mars3d.cn/docs/

//API文档
http://mars3d.cn/api/


//开源地址
https://github.com/marsgis/mars3d

👉Mars3D包含内容

Mars3D开发基础系列文档导航

三维场景 Map
地图控件
地图图层 Layer
加载DEM地形
栅格瓦片图层
坐标系及坐标变换
相机Camera及视角控制
时钟Clock及时序控制
事件机制
矢量图层Layer
矢量数据Graphic
Property属性机制
Material材质
glTF小模型
3DTiles三维模型
场景特效
管理及分析功能

👉Mars3D的CDN部分

我们也可以使用CDN的方式进行使用

<!--引入cesium基础lib-->
<link href="https://unpkg.com/mars3d-cesium/Build/Cesium/Widgets/widgets.css" rel="stylesheet" type="text/css" />
<script src="https://unpkg.com/mars3d-cesium/Build/Cesium/Cesium.js" type="text/javascript" ></script>
<script src="https://unpkg.com/@turf/turf/turf.min.js" type="text/javascript" ></script>

<!--引入mars3d库lib-->
<link href="https://unpkg.com/mars3d/dist/mars3d.css" rel="stylesheet" type="text/css" />
<script src="https://unpkg.com/mars3d/dist/mars3d.js" type="text/javascript" ></script>  


<!--引入mars3d库插件lib(按需引入)-->  
<script src="https://unpkg.com/mars3d-space/dist/mars3d-space.js" type="text/javascript" ></script> 

2、配置安装

🍎 新建项目

接下来我们在项目之中进行一下相关的安装以及使用,这里我搭建一个Vue3+TS+Antd进行演示,这里我们主要先使用依赖包的方式进行

项目搭建使用

// 创建项目
npx create-vite@latest NexusAntd --template vue-ts

//依赖
yarn add vue-router@latest
yarn add antd

🍎安装依赖(npm包方式)

接下来在项目之中引入使用mars3d部分

//安装mars3d主库,其中mars3d-cesium  @turf/turf为依赖库
yarn add mars3d mars3d-cesium  @turf/turf

//安装mars3d插件(按需安装)
yarn add mars3d-space --save

🍎vite项目配置

  • 安装依赖库
yarn add vite-plugin-mars3d --save-dev
  • 修改 vite.config.ts 配置文件
import { defineConfig } from "vite"
import { mars3dPlugin } from "vite-plugin-mars3d"

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

🍎项目使用

在我们项目之中进行使用,我们先采用官方的进行演示

<template>
  <div id="mars3dContainer" class="mars3d-container"></div>
</template>
<script setup lang="ts">
import { ref, onMounted } from 'vue'
// 引入 Mars3D 所需的 CSS 样式
import "mars3d-cesium/Build/Cesium/Widgets/widgets.css"

// v3.8.6及之前版本使用 import "mars3d/dist/mars3d.css";
import "mars3d/mars3d.css"

// 引入 Mars3D 主库
import * as mars3d from "mars3d"

// 使用 onMounted 来确保组件挂载时初始化地图
onMounted(() => {
  initMap();
})
const initMap = () =>  {
  const map = new mars3d.Map("mars3dContainer", {
    basemaps: [{ name: "天地图", type: "tdt", layer: "img_d", show: true }]
  })
  return map
}
</script>
<style scoped>
/* 你可以根据需要自定义地图容器的样式 */
.mars3d-container {
  width: 1920px;
  height: 1080px; /* 根据需求调整高度 */
}
</style>

这个时候预览就可以发现我们项目已经显示出来

3、进一步使用

接下来就可以继续进一步使用mars3d了

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。