cesium地图初始化配置说明

 

cesium初始化地球方法

new Cesium.Viewer(container, options)

只需要传入容器id或者Element元素就可以了,options可以为空。就能够初始化最简单的地球。

例如下面的代码,在引入cesium库路径正确的情况下,就能够创建出一个地球出来。

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta
      name="viewport"
      content="width=device-width, initial-scale=1, maximum-scale=1, minimum-scale=1, user-scalable=no"
    />
    <title>Hello World!</title>
    <script src="../Build/Cesium/Cesium.js"></script>
    <style>
      @import url(../Build/Cesium/Widgets/widgets.css);
      html,
      body,
      #cesiumContainer {
        width: 100%;
        height: 100%;
        margin: 0;
        padding: 0;
        overflow: hidden;
      }
    </style>
  </head>
  <body>
    <div id="cesiumContainer"></div>
    <script>
      var viewer = new Cesium.Viewer("cesiumContainer");
    </script>
  </body>
</html>

 但是cesium初始化方法,还有很多属性配置,下面就是全部的配置。

var viewer = new Cesium.Viewer('cesiumContainer', {
            animation: false, // 动画部件
            baseLayerPicker: false, // 基础图层部件
            fullscreenButton: false, // 全屏按钮部件
            vrButton: false, // vr部件
            geocoder: false, // 位置搜索部件
            homeButton: false, // home按钮
            infoBox: false, // 消息框部件
            sceneModePicker: false, // 二三维切换部件
            selectionIndicator: false,
            timeline: false, // 时间轴部件
            navigationHelpButton: false, // 导航帮助按钮
            navigationInstructionsInitiallyVisible: false, // 导航说明显示
            scene3DOnly: true, // 当设置为true时,每个几何图形实例将仅以3D形式呈现,以节省GPU内存。
            shouldAnimate: false, // 太阳模拟时钟时间
            // clockViewModel: new Cesium.ClockViewModel(clock),  // 当shouldAnimate为ture,执行当前设置的时间区间动画
            // selectedImageryProviderViewModel:{}, // 当前基础影像图层,如果设置将使用第一个可用的基础图层。仅当“ baseLayerPicker”设置为true时,此值才有效。
            // imageryProviderViewModels: [],  //可以从BaseLayerPicker中选择的ProviderViewModels数组。仅当“ baseLayerPicker”设置为true时,此值才有效。
            // selectedTerrainProviderViewModel: new Cesium.ProviderViewModel(options) // 当前基础地形图层的视图模型(如果未提供)将使用第一个可用的基础图层。仅当“ baseLayerPicker”设置为true时,此值才有效。
            // terrainProviderViewModels: [],   // 可以从BaseLayerPicker中选择的ProviderViewModels数组。仅当“ baseLayerPicker”设置为true时,此值才有效。
            // imageryProvider: // 加载不同的地图服务。仅当“ baseLayerPicker”设置为false时,此值才有效。
            // terrainProvider: // 加载地形服务
            // skyBox: false,  // 配置天空盒子或不显示天空盒子
            // skyAtmosphere: false, // 配置大气或不显示大气
            // fullscreenElement: '',  // 配置全屏按钮,传入id或者dom
            useDefaultRenderLoop: true, // 控制是否继续渲染
            // targetFrameRate:24, // 控制渲染帧数
            showRenderLoopErrors: true, // 报错是否弹出错误
            useBrowserRecommendedResolution: true, // 设置为false使用window.devicePixelRatio属性
            automaticallyTrackDataSourceClocks: false, // 设置成true,使用公共clock对象,设置false,所有功能使用独立clock对象
            contextOptions: {}, // 创建场景时,配置webgl
            sceneMode: Cesium.SceneMode.SCENE3D, // 初始化场景为3D、2.5D、2D
            // mapProjection:new GeographicProjection(),   // 使用2D 或者 Columbus View modes 设置地图投影方式
            //globe: false, // 配置新的地球或隐藏地球
            orderIndependentTranslucency: true, // 如果为true且配置支持,则使用顺序无关的透明性。
            creditContainer: document.getElementById('units'),    // 部件容器
            // creditViewport: '', // 提示显示容器
            // dataSources: new Cesium.DataSourceCollection(), // 小部件数据源设置
            terrainExaggeration: 1.0,   // 夸大地形
            shadows: true,  // 是否打开阴影
            terrainShadows: true,   // 是否打开地形阴影
            mapMode2D: Cesium.MapMode2D.INFINITE_SCROLL,   // 设置2D地图水平旋转
            projectionPicker: false,    // 设置为true,  ProjectionPicker部件会被创建,    ProjectionPicker:设置地球最佳视角
            // 如果为真,渲染帧只会在需要时发生,这是由场景中的变化决定的。启用可以减少你的应用程序的CPU/GPU使用,并且在移动设备上使用更少的电池,但是需要使用Scene#requestRender在这种模式下显式地渲染一个新帧。在许多情况下,在API的其他部分更改场景后,这是必要的。请参阅使用显式呈现提高性能。
            // 不是特别明白,应该是提高渲染性能的
            requestRenderMode: true,
            // 如果requestRenderMode为true,这个值定义了在请求渲染之前允许的模拟时间的最大变化。请参阅使用显式呈现提高性能。
            maximumRenderTimeChange: 0.0
        });

        let clock = new Cesium.Clock({
            startTime: Cesium.JulianDate.fromIso8601("2013-12-25"), // 开始时间
            currentTime: Cesium.JulianDate.fromIso8601("2013-12-25"), // 当前时间
            stopTime: Cesium.JulianDate.fromIso8601("2013-12-26"), // 结束时间
            multiplier: 1.0, // 时间运行倍数,负数向前进
            clockRange: Cesium.ClockRange.LOOP_STOP, // 到达时间开始或结束后的操作,是否循环
            clockStep: Cesium.ClockStep.SYSTEM_CLOCK_MULTIPLIER, // 设置时钟的频率是系统时间,还是帧
        });

 

  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
要使用Cesium.js实现离线三维地图,你需要以下步骤: 1. 下载Cesium.js库文件:你可以从Cesium官方网站(https://cesium.com/downloads/)下载Cesium.js的压缩包。选择适合你项目的版本,并将其解压到你的项目目录中。 2. 在Vue项目中引入Cesium.js库:将Cesium.js库文件拷贝到你的Vue项目的静态资源目录(例如`public`目录),然后在Vue组件中引入它。在需要使用Cesium的组件中添加以下代码: ```javascript mounted() { const Cesium = window.Cesium; this.viewer = new Cesium.Viewer(this.$refs.mapContainer, { // Cesium初始化配置选项 // 可根据需要进行配置 }); }, ``` 3. 在组件模板中创建地图容器:在Vue组件的模板中添加一个容器元素,用于显示地图。使用`ref`属性为容器元素创建一个引用,以便在代码中引用它。例如: ```html <template> <div ref="mapContainer" style="width: 100%; height: 100%;"></div> </template> ``` 4. 添加离线地图数据:下载所需的离线地图数据,例如地形数据、影像数据或矢量数据。将这些数据放置在你的项目目录中,并确保路径正确。 5. 加载离线地图数据:在Cesium初始化配置选项中指定离线地图数据的路径。例如: ```javascript this.viewer = new Cesium.Viewer(this.$refs.mapContainer, { terrainProvider: new Cesium.CesiumTerrainProvider({ url: '/path/to/terrainData', }), imageryProvider: new Cesium.UrlTemplateImageryProvider({ url: '/path/to/imageryData/{z}/{x}/{y}.png', }), }); ``` 在上述示例中,`terrainProvider`指定了地形数据的路径,`imageryProvider`指定了影像数据的路径。你需要根据实际情况调整路径和数据格式。 6. 定制地图样式和功能:Cesium提供了丰富的API和工具,可以根据需要进行地图样式和功能的定制。你可以通过配置选项、添加图层、设置相机位置等来实现定制。具体的定制方法可以参考Cesium的官方文档(https://cesium.com/docs/)。 这些步骤将帮助你在Vue项目中使用Cesium.js实现离线三维地图。记得根据你的实际需求和地图数据进行相应的配置和调整。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lv_longcheng

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值