Cesium开发学习笔记(二)---初始化、时间轴

初始化
// geoserver 引入  获取dom id
var cesiumContainer = document.getElementById("cesiumContainer");

viewer = new Cesium.Viewer("cesiumContainer", {
    //加载在线谷歌地图
    //imageryProvider: new Cesium.UrlTemplateImageryProvider({
    //  url: "http://www.google.cn/maps/vt?lyrs=s&x={x}&y={y}&z={z}"
    //}),
    imageryProvider: new Cesium.WebMapServiceImageryProvider({
    	//加载本地资源地球
        url: Cesium.buildModuleUrl('Assets/Textures/NaturalEarthII')  
    }),
    homeButton: false, //主页按钮
    baseLayerPicker: false, //是否显示图层选择控件
    navigationHelpButton: false, //帮助信息按钮
    geocoder: false, //是否显示地名查找控件
    infoBox: false,//是否显示点击要素之后显示的信息
    fullscreenButton: false, //是否显示全屏按钮
    timeline: true, //是否显示时间线控件
    animation: true, //是否显示动画控件
    sceneModePicker: true,//是否显示投影方式控件
    selectionIndicator: false, // 取消点击有绿框
    shouldAnimate: true,  //允许动画
    navigationInstructionsInitiallyVisible: false
    // navigation: false,
    sceneMode: 1,  //初始场景模式 1 2D模式 2 2D循环模式 3 3D模式  Cesium.SceneMode
    scene3DOnly: false, //每个几何实例将只能以3D渲染以节省GPU内存
});

//光照: scene.globe.enableLighting
//雾效:scene.fog.enabled
//大气:scene.skyAtmosphere

var options = {
    camera: viewer.scene.camera,
    canvas: viewer.scene.canvas,
    clampToGround: true //开启贴地,
};
//注释防止图片显示不全
///为true时,球体会有高程遮挡效果(在没有地形时候也会有高程遮挡效果)
// tilingScheme: new Cesium.GeographicTilingScheme();
// viewer.scene.globe.depthTestAgainstTerrain = true;  

//去除掉 版权信息
viewer._cesiumWidget._creditContainer.style.display = "none";
相机定位聚焦
//  相机聚焦(一)
viewer.camera.flyTo({
    destination: Cesium.Cartesian3.fromDegrees(112.3394, 16.8314, 1500000.0),
    orientation: {
        // heading: Cesium.Math.toRadians(90.0), // east, default value is 0.0 (north) //东西南北朝向
        pitch: Cesium.Math.toRadians(-90), // default value (looking down)  //俯视仰视视觉
        roll: 0.0 // default value
    }
});

//模型聚焦
//  viewer.zoomTo(entity);

// 相机聚焦(二)
viewer.camera.setView({
    destination: Cesium.Cartesian3.fromDegrees(118.20, 15.55, 2500000);
    //经纬高
});
时间轴和时间

//时间轴动态显示隐藏
viewer.animation.container.style.visibility = "hidden";
viewer.timeline.container.style.visibility = "hidden";
// viewer.timeline.container.style.visibility = 'visible';
// viewer.animation.container.style.visibility = 'visible';


//获取地图上的当前时间
// var currenttime = viewer.clock.currentTime; 
 
// 获取当前时间
var start = Cesium.JulianDate.fromDate(new Date());
// 添加8小时,使地图时间和北京时间相同
start = Cesium.JulianDate.addHours(start, 8, new Cesium.JulianDate());
//start = Cesium.JulianDate.fromIso8601('2020-04-18');

// 结束时间
var stop = Cesium.JulianDate.fromDate(new Date(2020, 10, 1));
//360是秒,可以在这个时间上加360秒,但是这还是地图上的时间
stop = Cesium.JulianDate.addSeconds(start, 360, new Cesium.JulianDate());
// 将时间刻到时间轴上
 // 设置始时钟始时间
viewer.clock.startTime = start.clone();
// 设置时钟当前时间
viewer.clock.currentTime = start.clone();
// 设置始终停止时间
viewer.clock.stopTime = stop.clone();
// 时间速率,数字越大时间过的越快
viewer.clock.multiplier = 10;
// 时间轴
viewer.timeline.zoomTo(start, stop);
/*
CLAMPED
达到终止时间后停止
LOOP_STOP
达到终止时间后重新循环
UNBOUNDED
达到终止时间后继续读秒
*/
viewer.clock.clockRange = Cesium.ClockRange.LOOP_STOP;

//时间变化就执行(即使停止时间轴仍然会执行)
viewer.clock.onTick.addEventListener(function (clock) {
	//可以在这里做一些时间的监听
});

此笔记仅仅为了记录自己在项目中所学到的知识,如果有问题,可以提出,我们可以共同探讨。

  • 2
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值