cesium 问题合集

* 一、 because its MIME type (‘text/html’) is not executable, and strict MIME type checking is enabled.

解析:在 Vue 项目中使用 Cesium需要在 index.html 文件中引入 Cesium

  • 最开始写法是
<script src="./node_modules/cesium/Build/Cesium/Cesium.js"></script>
<link rel="stylesheet" href="./node_modules/cesium/Build/Cesium/Widgets/widgets.css" />
  • 改错后
 <link rel="stylesheet" href="./libs/cesium/Widgets/widgets.css" />
 <script src="./libs/cesium/Cesium.js"></script>
  • 原因:

路径不对 因为cesium加载时需要读取这些静态资源,所以此处需要把node_modules中cesium下面的文件复制到public下面的libs中

在这里插入图片描述
再在main.js中引入此路径
在这里插入图片描述

  • 初始化成功引入一颗地球
    在这里插入图片描述
  • 初始化地图完整代码
<template>
  <div id="cesiumContainer"></div>
</template>

<script>
import * as Cesium from 'cesium'
export default {
  mounted () {
    this.initMap();

  },
  data () {
    return {
      viewer: null
    };
  },
  methods: {
    initMap () {
      Cesium.Ion.defaultAccessToken = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiI3ZWQzYzczOC1lNjRiLTRlYjQtYTgyOC05MTkwZjQ4Yzc0MzciLCJpZCI6MTkzNzk5LCJpYXQiOjE3MDcwMTc2OTJ9.Fogjd8e-RdYUnf7zjjUvpwRnNrEk29f7oYgtxE0uSok'
      this.viewer = new Cesium.Viewer('cesiumContainer', {
        imageryProviderViewModels: [
          new Cesium.ProviderViewModel({
            name: 'Google卫星',
            iconUrl: 'http://img3.cache.netease.com/photo/0031/2012-03-22/7T6QCSPH1CA10031.jpg',
            tooltip: 'Google卫星',
            creationFunction: function () {
              return new Cesium.UrlTemplateImageryProvider({
                url: 'http://www.google.cn/maps/vt?lyrs=s&x={x}&y={y}&z={z}', //影像图 (中国范围无偏移)
                tilingScheme: new Cesium.WebMercatorTilingScheme(),
                minimumLevel: 1,
                maximumLevel: 200,
                credit: 'Google Earth',
              })
            },
          }),
        ], //设置影像图列表
        shouldAnimate: true,
        geocoder: false, //右上角查询按钮
        shadows: false,
        terrainProviderViewModels: [], //设置地形图列表
        animation: false, //动画小窗口
        baseLayerPicker: false, //图层选择器
        fullscreenButton: false, //全屏
        vrButton: false, //vr按钮
        homeButton: false, //home按钮
        infoBox: false,
        sceneModePicker: false, //2D,2.5D,3D切换
        selectionIndicator: false,
        timeline: false, //时间轴
        navigationHelpButton: false, //帮助按钮
        terrainShadows: Cesium.ShadowMode.DISABLED,
      }); //  初始化Cesium Viewer对象
      // 将三维球定位到中国
      this.viewer.camera.flyTo({
        destination: Cesium.Cartesian3.fromDegrees(103.84, 31.15, 17850000),
        orientation: {
          heading: Cesium.Math.toRadians(348.4202942851978),
          pitch: Cesium.Math.toRadians(-89.74026687972041),
          roll: Cesium.Math.toRadians(0),
        },
        complete: function callback () {
          // 定位完成之后的回调函数
        },
      })
    }
  },
};
</script>

<style lang="scss" scoped>
#cesiumContainer {
  width: 100%;
  height: 100vh;
}
</style>

  • 9
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值