360SDN.COM

首页/GIS/列表

cesium 学习笔记(二) 初始化Viewer以及相关参数(隐藏版权信息,

来源:  2018-07-04 15:10:36    评论:0点击:

如果我们想要隐藏下方的版权信息,在 var viewer = new Cesium.Viewer('cesiumContainer'); 后面加上下面这句代码就可以实现啦~
  viewer._cesiumWidget._creditContainer.style.display="none";  

去掉版权信息后如下图,看起来清爽了许多~

 

仅仅一句代码我们就可以加载进来一个地球和各种地图,但是有很多功能可能是需要关闭或者开启的~

        详细的设置可以参考如下,这部分内容我没有再去查API,而是直接引用了GISEarth的博客中的这部分说明,供大家参考。由于我不需要多余的按钮,所以我就把Cesium本来带的组件全部隐藏啦~

  1. var viewer = new Cesium.Viewer( 'cesiumContainer', {
  2. animation : false,//是否创建动画小器件,左下角仪表
  3. baseLayerPicker : false,//是否显示图层选择器
  4. fullscreenButton : false,//是否显示全屏按钮
  5. geocoder : false,//是否显示geocoder小器件,右上角查询按钮
  6. homeButton : false,//是否显示Home按钮
  7. infoBox : false,//是否显示信息框
  8. sceneModePicker : false,//是否显示3D/2D选择器
  9. selectionIndicator : false,//是否显示选取指示器组件
  10. timeline : false,//是否显示时间轴
  11. navigationHelpButton : false,//是否显示右上角的帮助按钮
  12. scene3DOnly : true,//如果设置为true,则所有几何图形以3D模式绘制以节约GPU资源
  13. clock : new Cesium.Clock(),//用于控制当前时间的时钟对象
  14. selectedImageryProviderViewModel : undefined,//当前图像图层的显示模型,仅baseLayerPicker设为true有意义
  15. imageryProviderViewModels : Cesium.createDefaultImageryProviderViewModels(),//可供BaseLayerPicker选择的图像图层ProviderViewModel数组
  16. selectedTerrainProviderViewModel : undefined,//当前地形图层的显示模型,仅baseLayerPicker设为true有意义
  17. terrainProviderViewModels : Cesium.createDefaultTerrainProviderViewModels(),//可供BaseLayerPicker选择的地形图层ProviderViewModel数组
  18. imageryProvider : new Cesium.OpenStreetMapImageryProvider( {
  19. credit :'',
  20. url : '//192.168.0.89:5539/planet-satellite/'
  21. } ),//图像图层提供者,仅baseLayerPicker设为false有意义
  22. terrainProvider : new Cesium.EllipsoidTerrainProvider(),//地形图层提供者,仅baseLayerPicker设为false有意义
  23. skyBox : new Cesium.SkyBox({
  24. sources : {
  25. positiveX : 'Cesium-1.7.1/Skybox/px.jpg',
  26. negativeX : 'Cesium-1.7.1/Skybox/mx.jpg',
  27. positiveY : 'Cesium-1.7.1/Skybox/py.jpg',
  28. negativeY : 'Cesium-1.7.1/Skybox/my.jpg',
  29. positiveZ : 'Cesium-1.7.1/Skybox/pz.jpg',
  30. negativeZ : 'Cesium-1.7.1/Skybox/mz.jpg'
  31. }
  32. }),//用于渲染星空的SkyBox对象
  33. fullscreenElement : document.body,//全屏时渲染的HTML元素,
  34. useDefaultRenderLoop : true,//如果需要控制渲染循环,则设为true
  35. targetFrameRate : undefined,//使用默认render loop时的帧率
  36. showRenderLoopErrors : false,//如果设为true,将在一个HTML面板中显示错误信息
  37. automaticallyTrackDataSourceClocks : true,//自动追踪最近添加的数据源的时钟设置
  38. contextOptions : undefined,//传递给Scene对象的上下文参数(scene.options)
  39. sceneMode : Cesium.SceneMode.SCENE3D,//初始场景模式
  40. mapProjection : new Cesium.WebMercatorProjection(),//地图投影体系
  41. dataSources : new Cesium.DataSourceCollection()
  42. //需要进行可视化的数据源的集合
  43. } );

 

 

对camera进行设置,我们就可以定义初始化时的镜头、视角~下面这段代码就是将镜头定位在经纬度为(111.07,39.05)的地方,高度为1万公里,下面的heading、pitch和roll就是镜头相对于xyz轴的角度,比如pitch为-90°而另外两个为0时,就是90°向下俯视地球。

 

  1. viewer.camera.setView({
  2. destination: Cesium.Cartesian3.fromDegrees(111.07, 39.05, 10000),
  3. orientation: {
  4. heading : Cesium.Math.toRadians(0),
  5. pitch : Cesium.Math.toRadians(-90),
  6. roll : Cesium.Math.toRadians(0)
  7. }
  8. });

最后得到的就是下图所示的效果,很多按钮都被隐藏了,打开时也不再是整个地球,而是只有我需要的这一小部分,这样子就更方便后面的操作啦~

 

为您推荐

友情链接 |九搜汽车网 |手机ok生活信息网|ok生活信息网|ok微生活
 Powered by www.360SDN.COM   京ICP备11022651号-4 © 2012-2016 版权