感性认识
界面介绍,viewer
- Geocoder : 查找位置工具,查找到之后会将镜头对准找到的地址,默认使用bing地图
- Home Button :视角返回初始位置.
- Scene Mode Picker : 选择视角的模式,有三种:3D,2D,哥伦布视图(CV)
- Base Layer Picker : 图层选择器,选择要显示的地图服务和地形服务.
- Navigation Help Button :导航帮助按钮,显示默认的地图控制帮助.
- Animation : 动画器件,控制视图动画的播放速度.
- Timeline :时间线,指示当前时间,并允许用户跳到特定的时间.
- Credits Display :版权显示,显示数据归属,必选
- Fullscreen Button :全屏按钮.
隐藏界面中的元素
在开发自己的项目时,有时候需要对界面做一定的定制,这就需要隐藏一部分界面中的元素,下面我们来看看各个元素的描述
首先创建一个空的工程来测试,源码在https://gitee.com/HQCode/Cesium-test
方法一 通过js代码控制
界面上默认的小控件可以通过在初始化Viewer的时候设置相应的属性来关闭,一下列出了界面默认的小控件的关闭方法,还有很多额外的属性,可以查看
帮助文档
<div id="credit"></div>
var viewer = new Cesium.Viewer('cesiumContainer',{
geocoder:false,
homeButton:false,
sceneModePicker:false,
baseLayerPicker:false,
navigationHelpButton:false,
animation:false,
creditContainer:"credit",
timeline:false,
fullscreenButton:false,
vrButton:false,
// skyBox : new Cesium.SkyBox({
// sources : {
// positiveX : 'stars/TychoSkymapII.t3_08192x04096_80_px.jpg',
// negativeX : 'stars/TychoSkymapII.t3_08192x04096_80_mx.jpg',
// positiveY : 'stars/TychoSkymapII.t3_08192x04096_80_py.jpg',
// negativeY : 'stars/TychoSkymapII.t3_08192x04096_80_my.jpg',
// positiveZ : 'stars/TychoSkymapII.t3_08192x04096_80_pz.jpg',
// negativeZ : 'stars/TychoSkymapII.t3_08192x04096_80_mz.jpg'
// }
// })
});
方法二 通过css控制
/* 不占据空间,无法点击 */
.cesium-viewer-toolbar, /* 右上角按钮组 */
.cesium-viewer-animationContainer, /* 左下角动画控件 */
.cesium-viewer-timelineContainer, /* 时间线 */
.cesium-viewer-bottom /* logo信息 */
{
display: none;
}
.cesium-viewer-fullscreenContainer /* 全屏按钮 */
{ position: absolute; top: -999em; }
注:全屏按钮不能通过display:none的方式来达到隐藏的目的,这是因为生成的按钮控件的行内样式设置了display属性,会覆盖引入的css属性
<div class="cesium-viewer-fullscreenContainer" style="display: block;">...</div>
显示帧速(FPS)
viewer.scene.debugShowFramesPerSecond = true;
Cesium学习交流群:593764057
博主,能不能加一个高德地图的demo,加载baserLayer里
请问 如何在cesium上添加自定义控件
可以就跟普通网页加控件一样
不错你们说的的都不错
现在有个div,我要添加自定义控件的ul放在div中还是与这个div并行排放。不管哪种情况我写的ul样式都没cesium覆盖了,如何让他们显示在同一层呢
z-index
怎么能定制地球仪的颜色呢,不要每个版块的填充色,只要边界线
如何把整个viewer给销毁
如何把整个 viewer给销毁
viewer.destroy()
你好。请问,如何在设置view的创始状态,让它显示OPENSTREETMAP作(或其他免费的影像地图服务)为默认基础层,而不隐藏基础层选择控件?
我的目的是,不想使用BING MAP作为默认基础层,从而不显示页面底部的CESIUM ION的警告信息。
viewer = new Cesium.Viewer(‘cesiumContainer’, {
shadows: true,
geocoder: false,
baseLayerPicker: true,
sceneModePicker: true,
fullscreenButton: true,
imageryProvider: Cesium.createOpenStreetMapImageryProvider({
url : ‘https://a.tile.openstreetmap.org/’
})
});
使用上述代码,页面显示后,图层控件显示是黑色的小方块。如何解决,谢谢。
http://cesium.xin/wordpress/archives/cesium-baselayerpicker-init-index.html
你好,请问如lesson02中这个建筑,如何能给他指定一个区域然后实现鼠标跟他互动呢?比如点击某一栋楼弹出一个DIV?
可以根据楼体经纬度判断是否点中,或者把数据单体化
好
如何修改小控件样式和位置?
参考博客里写的,改css 或者用js改
Cesium.Viewer的optional里
creditContainer:”credit”
在cesium1.75里好像运行无效,刚刚查了一下documentation没有找到对应的参数,想问一下是不是改名字了呢?
请问如果要让地图的默认图层为esriworldimagery应该如何导入呀
// 使用样式,可以去除左下方的logo标志信息
viewer._cesiumWidget._creditContainer.style.display = “none”;
// 显示帧数信息
viewer.scene.debugShowFramesPerSecond = true;
有效
学习打卡
SecurityError: Failed to execute ‘texImage2D’ on ‘WebGLRenderingContext’: The image element contains cross-origin data, and may not be loaded.
Error: Failed to execute ‘texImage2D’ on ‘WebGLRenderingContext’: The image element contains cross-origin data, and may not be loaded.
这种报错怎么解决
百度”跨域”
解决了吗??