vue3 + ts + vite 初始化 Mars3D

devtools/2024/11/8 22:41:10/

一、实现效果

二、实现步骤

1. 下载依赖

npm install mars3d mars3d-cesium @turf/turf --save
npm install mars3d-space --save
npm install vite-plugin-mars3d --save-dev

2. 编写组件代码

    (1)main.ts

declare global {interface Window {mars3dFun: any}
}

    (2)/ src / components / Mars3d / index.vue

<template><div id="mars3dContainer" class="mars3d-container"></div></template><script setup lang="ts">import {onMounted} from "vue";
import {Mars3dFun} from "@/components/Mars3d/hooks/init";onMounted(() => {window.mars3dFun = new Mars3dFun() // mars3d 类window.mars3dFun.initMars3d() // 初始化
})</script><style scoped lang="scss">#mars3dContainer {width: 100vw;height: 100vh;
}</style>

    (3)/ src / components / Mars3d / init.ts

//引入cesium基础库
import "mars3d-cesium/Build/Cesium/Widgets/widgets.css";
// import * as Cesium from "mars3d-cesium";
//导入mars3d主库
import "mars3d/dist/mars3d.css";
import * as mars3d from "mars3d";
//导入mars3d插件(按需使用,需要先npm install)
import "mars3d-space";export class Mars3dFun {private map: anyconstructor() {this.map = null}/* 初始化 */initMars3d() {this.map = new mars3d.Map('mars3dContainer', {terrain: { // 开启地形服务url: "http://data.mars3d.cn/terrain",show: true}}) // 初始化地图// 方式2:在创建地球后调用addLayer添加图层(直接new对应type类型的图层类)let tileLayer1 = new mars3d.layer.GaodeLayer({ // 高德卫星图layer: "img_d",})let tileLayer2 = new mars3d.layer.GaodeLayer({ // 高德标注layer: "img_z",})this.map.addLayer(tileLayer1) // 添加高德卫星底图this.map.addLayer(tileLayer2) // 添加高德底图标注this.map.unbindContextMenu() // 解除 map 已绑定的右键菜单}}


http://www.ppmy.cn/devtools/132412.html

相关文章

初始JavaEE篇——多线程(6):线程池

找往期文章包括但不限于本期文章中不懂的知识点&#xff1a; 个人主页&#xff1a;我要学编程程(ಥ_ಥ)-CSDN博客 所属专栏&#xff1a;JavaEE 到现在为止&#xff0c;我们已经学习了两个经典的多线程案例了&#xff1a;饿汉模式与懒汉模式、阻塞队列与生产者—消费者模型。想要…

Linux的SOCKET编程详解

Linux的SOCKET编程详解_linux如何确认socket双方-CSDN博客

微机原理与接口技术——中断系统与可编中断控制芯片8259A

目录 一、8259A 芯片介绍 二、8259A 的内部结构和引脚 三、8259A 的中断工作过程 四、8259A 的工作方式 五、8259A 的编程 六、外部中断服务程序 一、8259A 芯片介绍 Intel 8259A 是可编程中断控制器&#xff0c;可用于管理 Intel 8080/8085、8086/8088、80286/80386 的…

性能测试|docker容器下搭建JMeter+Grafana+Influxdb监控可视化平台

前言 在当前激烈的市场竞争中&#xff0c;创新和效率成为企业发展的核心要素之一。在这种背景下&#xff0c;如何保证产品和服务的稳定性、可靠性以及高效性就显得尤为重要。 而在软件开发过程中&#xff0c;性能测试是一项不可或缺的环节&#xff0c;它可以有效的评估一个系…

【贪心算法】No.1---贪心算法(1)

文章目录 前言一、贪心算法&#xff1a;二、贪心算法示例&#xff1a;1.1 柠檬⽔找零1.2 将数组和减半的最少操作次数1.3 最⼤数1.4 摆动序列1.5 最⻓递增⼦序列1.6 递增的三元⼦序列 前言 &#x1f467;个人主页&#xff1a;小沈YO. &#x1f61a;小编介绍&#xff1a;欢迎来到…

Qt多边形填充/不填充绘制

1 填充多边形绘制形式 void GraphicsPolygonItem::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget) {Q_UNUSED(option);Q_UNUSED(widget);//painter->setPen(pen()); // 设置默认画笔//painter->setBrush(brush()); // 设置默…

PHP+MySQL开发的一套招聘管理系统开发案例源码功能介绍

‌人才招聘系统‌&#xff0c;也称为招聘管理系统&#xff08;HRMS&#xff09;的细化分支&#xff0c;是一种基于互联网的招聘管理平台。它旨在协助企业以更高效的方式完成外部人才的吸引、识别、筛选及录用工作。在国外&#xff0c;这种系统常被称为Applicant Tracking Syste…

【FastAdmin】在页面中使用layui,以此引申使用颜色选择器示例

目录 1.首先在backend-init.js中定义依赖配置&#xff0c;路径&#xff1a;public/assets/js/backend-init.js 2.然后再你需要使用layui的地方引用即可 3.一个颜色选择器的示例 html完整示例&#xff1a; js完整示例&#xff1a; 好看的layui使我喜欢他&#xff0c;但是在…