HeadingPitchRange
是一个用于描述视点和画布之间相对位置的对象。三个属性包括 heading
、pitch
和 range
分别描述视点的朝向、俯仰和距离。
可以使用 new
关键字创建一个新的 HeadingPitchRange
对象。例如:
var hpr = new Cesium.HeadingPitchRange(0, -20, 10000);
这将会创建一个视点朝向北,俯仰角为 -20 度,距离画布 10000 米的 HeadingPitchRange
对象。
创建一个与当前 HeadingPitchRange
对象一模一样的新对象。如果指定了 result
,则将结果存储在该对象中,否则返回一个新的 HeadingPitchRange
对象。
var hpr1 = new Cesium.HeadingPitchRange(0, -20, 10000);
var hpr2 = hpr1.clone();
判断当前 HeadingPitchRange
对象是否与另一个 HeadingPitchRange
对象相等。
var hpr1 = new Cesium.HeadingPitchRange(0, -20, 10000);
var hpr2 = new Cesium.HeadingPitchRange(0, -20, 10000);
var isEqual = hpr1.equals(hpr2); // true
判断当前 HeadingPitchRange
对象是否与另一个 HeadingPitchRange
对象在指定精度范围内相等。精度范围由 epsilon
参数指定。
var hpr1 = new Cesium.HeadingPitchRange(0, -20, 10000);
var hpr2 = new Cesium.HeadingPitchRange(0.1, -20.1, 9999);
var isApproximatelyEqual = hpr1.equalsEpsilon(hpr2, 0.2); // true
以下代码演示了如何将 HeadingPitchRange
对象应用于 Viewer.camera
。
var viewer = new Cesium.Viewer('cesiumContainer');
var initialPosition = new Cesium.Cartesian3.fromDegrees(-122.4194, 37.7749, 1000);
var heading = Cesium.Math.toRadians(0);
var pitch = Cesium.Math.toRadians(-20);
var range = 1000;
var hpr = new Cesium.HeadingPitchRange(heading, pitch, range);
viewer.camera.setView({
destination: initialPosition,
orientation: {
heading: hpr.heading,
pitch: hpr.pitch,
roll: 0.0
}
});