vue3 + ts + vite 初始化 cesium

1. 下载并导入依赖

npm i cesium vite-plugin-cesium --save-dev
// vite.config.ts
import cesium from 'vite-plugin-cesium'

// https://vitejs.dev/config/
export default defineConfig({
    plugins: [
        vue(),
        cesium()
    ],
})

2. 编写组件

    (1)main.ts

// main.ts
declare global {
    interface Window {
        viewer: Cesium.Viewer,
    }
}

    (2)components / CesiumViewer / index.vue 

<template>

  <div id="map"></div>

</template>

<script setup lang="ts">

import {onMounted} from "vue";
import * as Cesium from "cesium";

onMounted(() => {
  initCesium()
})

/* 初始化地球 */
const initCesium = () => {
  let viewer: Cesium.Viewer = new Cesium.Viewer("map", {
    infoBox: false, // 禁用沙箱,解决控制台报错
    selectionIndicator: false, //选择指示器
    timeline: false, // 时间轴
    animation: false, // 动画小组件
    geocoder: false, // 地理编码(搜索)组件
    homeButton: false, // 首页,点击之后将视图跳转到默认视角
    sceneModePicker: false, // 投影方式,切换 2D、3D 和 Columbus View (CV) 模式。
    baseLayerPicker: false, // 底图组件,选择三维数字地球的底图(imagery and terrain)。
    navigationHelpButton: false, // 帮助按钮
    fullscreenButton: false, // 全屏按钮
    scene3DOnly: true, // 每个几何实例将只能以 3D 渲染以节省 GPU 内存
    sceneMode: 3, // 初始场景模式 1 2D模式 2 2D循环模式 3 3D模式  Cesium.SceneMode
  })
  let logo = viewer.cesiumWidget.creditContainer as HTMLElement
  logo.style.display = "none"; // 隐藏 logo 版权
  viewer.scene.skyBox.show = false;
  viewer.scene.backgroundColor = new Cesium.Color(0, 0, 0, 0);
  window.viewer = viewer // 挂载到全局
}

</script>

<style>

#map {
  width: 100vw;
  height: 100vh;
}

</style>

3. 在页面中导入并使用上述组件即可,最终效果如下:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值