cesium入门(七)camera控制

cesium提供了三种方式,setView,flyto,lookAt,有三个参数Roll,pitch,heading
cesium入门(七)camera控制_第1张图片

第一种setView

cartesian3方式:

view.camera.setView({
	destination:Cesium.Cartesian3.fromDegrees(116.435314,39.960521, 15000.0),//设置位置
	orientation:{
		heading:Cesium.Math.toRadians(20.0),
		pitch:cesium.Math.toRadians(-90.0),
		roll:0
	}
});

rectangle方式:

view.camera.setView({

destination: Cesium.Rectangle.fromDegrees(0.0, 20.0, 10.0, 30.0),//west, south, east, north

orientation: {

heading : Cesium.Math.toRadians(20.0), // 方向

pitch : Cesium.Math.toRadians(-90.0),// 倾斜角度

roll : 0

} });

第二种方式:flyto

view.camera.flyTo({
  destination :Cesium.Cartesian3.fromDegrees(116.435314,39.960521, 15000.0), // 设置位置
  orientation: {
    heading :Cesium.Math.toRadians(20.0), // 方向
    pitch :Cesium.Math.toRadians(-90.0),// 倾斜角度
    roll :0
  },
  duration:5, // 设置飞行持续时间,默认会根据距离来计算
  complete:function () {
  // 到达位置后执行的回调函数
  },
  cancle:function () {
  // 如果取消飞行则会调用此函数
  },
  pitchAdjustHeight:-90, // 如果摄像机飞越高于该值,则调整俯仰俯仰的俯仰角度,并将地球保持在视口中。
  maximumHeight:5000, // 相机最大飞行高度
  flyOverLongitude:100, // 如果到达目的地有2种方式,设置具体值后会强制选择方向飞过这个经度(这个,很好用)
});

第三种方式lookAt

// 1. Using a cartesian offset
var center = Cesium.Cartesian3.fromDegrees(-98.0, 40.0);
viewer.camera.lookAt(center, new Cesium.Cartesian3(0.0, -4790000.0, 3930000.0));

// 2. Using a HeadingPitchRange offset
var center = Cesium.Cartesian3.fromDegrees(-72.0, 40.0);
var heading = Cesium.Math.toRadians(50.0);
var pitch = Cesium.Math.toRadians(-20.0);
var range = 5000.0;
viewer.camera.lookAt(center, new Cesium.HeadingPitchRange(heading, pitch, range));

你可能感兴趣的:(前端,cesium)