相关文章推荐
鬼畜的钢笔  ·  打工生活模拟器测试- 安卓官方试玩- TapTap·  4 月前    · 
要出家的吐司  ·  【宏光MINIEV】五菱汽车_宏光MINIE ...·  4 月前    · 
怕老婆的钱包  ·  从零开始通俗唱法入门新编教程·  4 月前    · 
愉快的沙滩裤  ·  对省十四届人大一次会议1183号建议的答复- ...·  5 月前    · 
冷冷的皮带  ·  不见不散(1998年冯小刚执导电影)_搜狗百科·  1 年前    · 
小百科  ›  Cesium笔记(2):基本控件简介—Viewer控件配置地图界面/控件隐藏开发者社区
刚毅的酱牛肉
7 月前
周陆军博客

Cesium笔记(2):基本控件简介—Viewer控件配置地图界面/控件隐藏

原创
前往小程序,Get 更优 阅读体验!
立即前往
腾讯云
开发者社区
文档 建议反馈 控制台
首页
学习
活动
专区
圈层
工具
MCP广场
文章/答案/技术大牛
发布
首页
学习
活动
专区
圈层
工具
MCP广场
返回腾讯云官网
周陆军博客
首页
学习
活动
专区
圈层
工具
MCP广场
返回腾讯云官网
社区首页 > 专栏 > Cesium笔记(2):基本控件简介—Viewer控件配置地图界面/控件隐藏

Cesium笔记(2):基本控件简介—Viewer控件配置地图界面/控件隐藏

原创
作者头像
周陆军博客
发布 于 2023-05-14 23:16:45
发布 于 2023-05-14 23:16:45
4.2K 0 0
代码可运行
举报
文章被收录于专栏: 前端博客 前端博客
运行总次数: 0
代码可运行

简单描述Viewer

Viewer 类是 cesium 的核心类,是地图可视化展示的主窗口,cesium 程序应用的切入口,它提供了基本的虚拟地球显示和众多的控制选项.

new Cesium.Viewer(container, options),配置地图界面,需要设置options参数,具体参看: https://cesium.com/docs/cesiumjs-ref-doc/Viewer.html

代码语言: javascript
代码 运行次数: 0
运行
复制
var viewer = new Cesium.Viewer('cesiumContainer');//cesiumContainer是一个页面中的一个div

我们看到一个虚拟地球在中央,默认使用Bing卫星图层,右上角的button依次为地名查找(依赖google服务)、重置到初始焦点与缩放(可以拖动缩放后点击该按钮即可复位)、地图图层投影方式(3D、2D、Columbus)、地图图层选择(包括image和terrain)、简要帮助。

窗口下部为动画控制和时间线,用来展示动态内容时用于控制快慢和倒正回放。

  1. Geocoder : 查找位置工具,查找到之后会将镜头对准找到的地址,默认使用bing地图
  2. Home Button :视角返回初始位置.
  3. Scene Mode Picker : 选择视角的模式,有三种:3D,2D,哥伦布视图(CV)
  4. Base Layer Picker : 图层选择器,选择要显示的地图服务和地形服务.
  5. Navigation Help Button :导航帮助按钮,显示默认的地图控制帮助.
  6. Animation : 动画器件,控制视图动画的播放速度.
  7. Timeline :时间线,指示当前时间,并允许用户跳到特定的时间.
  8. Credits Display :版权显示,显示数据归属,必选
  9. Fullscreen Button :全屏按钮.

下面是一个基本配置

代码语言: javascript
代码 运行次数: 0
运行
复制
var viewer = new Cesium.Viewer('cesiumContainer', {
  animation: false, // 是否创建动画小器件,左下角仪表
  baseLayerPicker: false, // 是否显示图层选择器
  fullscreenButton: false, // 是否显示全屏按钮
  geocoder: false, // 是否显示geocoder小器件,右上角查询按钮
  homeButton: false, // 是否显示Home按钮
  infoBox: false, // 是否显示信息框
  sceneModePicker: false, // 是否显示3D/2D选择器
  selectionIndicator: false, // 是否显示选取指示器组件
  timeline: false, // 是否显示时间轴
  navigationHelpButton: false, // 是否显示右上角的帮助按钮
  scene3DOnly: true, // 如果设置为true,则所有几何图形以3D模式绘制以节约GPU资源
  clock: new Cesium.Clock(), // 用于控制当前时间的时钟对象
  selectedImageryProviderViewModel: undefined, // 当前图像图层的显示模型,仅baseLayerPicker设为true有意义
  imageryProviderViewModels: Cesium.createDefaultImageryProviderViewModels(), // 可供BaseLayerPicker选择的图像图层ProviderViewModel数组
  selectedTerrainProviderViewModel: undefined, // 当前地形图层的显示模型,仅baseLayerPicker设为true有意义
  terrainProviderViewModels: Cesium.createDefaultTerrainProviderViewModels(), // 可供BaseLayerPicker选择的地形图层ProviderViewModel数组
  imageryProvider: new Cesium.OpenStreetMapImageryProvider({
    credit: '',
    url: '//192.168.0.89:5539/planet-satellite/'
  }), // 图像图层提供者,仅baseLayerPicker设为false有意义
  terrainProvider: new Cesium.EllipsoidTerrainProvider(), // 地形图层提供者,仅baseLayerPicker设为false有意义
  skyBox: new Cesium.SkyBox({
    sources: {
      positiveX: 'Cesium-1.7.1/Skybox/px.jpg',
      negativeX: 'Cesium-1.7.1/Skybox/mx.jpg',
      positiveY: 'Cesium-1.7.1/Skybox/py.jpg',
      negativeY: 'Cesium-1.7.1/Skybox/my.jpg',
      positiveZ: 'Cesium-1.7.1/Skybox/pz.jpg',
      negativeZ: 'Cesium-1.7.1/Skybox/mz.jpg'
  }), // 用于渲染星空的SkyBox对象
  fullscreenElement: document.body, // 全屏时渲染的HTML元素,
  useDefaultRenderLoop: true, // 如果需要控制渲染循环,则设为true
  targetFrameRate: undefined, // 使用默认render loop时的帧率
  showRenderLoopErrors: false, // 如果设为true,将在一个HTML面板中显示错误信息
  automaticallyTrackDataSourceClocks: true, // 自动追踪最近添加的数据源的时钟设置
  sceneMode: Cesium.SceneMode.SCENE3D, // 初始场景模式
  mapProjection: new Cesium.WebMercatorProjection(), // 地图投影体系
  dataSources: new Cesium.DataSourceCollection(), // 需要进行可视化的数据源的集合
  contextOptions: { // 传递给Scene对象的上下文参数(scene.options) 截图需要的
    webgl: {
      alpha: true,
      depth: true,
      stencil: true,
      antialias: true,
      premultipliedAlpha: true,
      // 通过canvas.toDataURL()实现截图需要将该项设置为true
      preserveDrawingBuffer: true,
      failIfMajorPerformanceCaveat: true
viewer.camera.setView({
  destination: Cesium.Cartesian3.fromDegrees(111.07, 39.05, 10000),
  orientation: {
    heading: Cesium.Math.toRadians(0),
    pitch: Cesium.Math.toRadians(-90),
 
推荐文章
鬼畜的钢笔  ·  打工生活模拟器测试- 安卓官方试玩- TapTap
4 月前
要出家的吐司  ·  【宏光MINIEV】五菱汽车_宏光MINIEV报价_宏光MINIEV图片_汽车 ...
4 月前
怕老婆的钱包  ·  从零开始通俗唱法入门新编教程
4 月前
愉快的沙滩裤  ·  对省十四届人大一次会议1183号建议的答复- 湖南省发展和改革委员会
5 月前
冷冷的皮带  ·  不见不散(1998年冯小刚执导电影)_搜狗百科
1 年前
Link管理   ·   Sov5搜索   ·   小百科
小百科 - 百科知识指南