更多Cesium示例代码:Cesium Sandcastle 

本地安装cesium 

安装vite-plugin-cesium:

npm i -D vite-plugin-cesium

 安装cesium:

npm i -S cesium

vite.config.js中配置如下:

import cesium from 'vite-plugin-cesium';

 示例:

<template>
    <div id="cesiumContainer"></div>
  </template>
  
  <script setup>
  import * as Cesium from 'cesium';
  import { onMounted } from 'vue';
  onMounted(() => {
    const viewer = new Cesium.Viewer('cesiumContainer',{
      infoBox: false, // 禁用沙箱,解决控制台报错
    });
  })
  
  </script>
  
  <style scoped>
  #cesiumContainer {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0px;
    left: 0px;
    margin: 0;
    padding: 0;
    overflow: hidden;
  }
  </style>

在线引入cesium

在index.html中引入以下js和css文件,即可使用cesium了 

  <!-- 引入Cesium -->
  <script src="https://unpkg.com/cesium@1.84.0/Build/Cesium/Cesium.js"></script>
  <link rel="stylesheet" href="https://unpkg.com/cesium@1.84.0/Build/Cesium/Widgets/widgets.css">

如果报错的话,就使用以下文件:

<link href="http://file.ljgis.com/cesium/latest/Widgets/widgets.css" rel="stylesheet">
<script src="http://file.ljgis.com/cesium/latest/Cesium.js"></script>

 

效果图: 

 示例代码:

<template>
  <div class='test'>
    <div id="map3d"></div>
  </div>
</template>

<script setup lang='ts'>
import { onMounted } from 'vue';

onMounted(() => {
  new Cesium.Viewer("map3d", {
    infoBox: false,
    selectionIndicator: false,
    navigation: false,
    animation: false,
    shouldAnimate: false,
    timeline: false,
    baseLayerPicker: false,
    geocoder: false,
    homeButton: false,
    sceneModePicker: false,
    navigationHelpButton: false,
    imageryProvider: new Cesium.ArcGisMapServerImageryProvider({
      url: 'https://services.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer'
    })
  });
})

</script>
<style lang="scss" scoped>
.test {
  width: 100vw;
  height: 100vh;

  #map3d {
    height: 100%;
  }
}
</style>

Logo

Vue社区为您提供最前沿的新闻资讯和知识内容

更多推荐