Camera

Camera 定义了位置,倾斜,和矛头指向,从那里取景视图的可见范围被观察。它与设备硬件无关。这个类只适用于3D SceneViews。

当创建一个SceneView时,它包含一个camera属性。由于camera属性可能是自动计算的,所以在大多数应用程序中,这个模块不需要包含在require()函数中。

属性预览

fov:camera的视场以度数表示。

heading:camera的罗盘航向,以度为单位

position:由地图点确定的camera的位置

tilt:从camera位置向下投射时,camera相对于表面的角度倾斜。


// 用特定的Camera初始化视图
var cam = new Camera({
  heading: 90, // face due east
  tilt: 45, // looking from a bird's eye view
  position: [ -122, 38, 20000 ]  // creates a point instance (x,y,z)
});

// 用特定的Camera初始化视图
var cam = new Camera({
  heading: 90, // face due east
  tilt: 45, // looking from a bird's eye view
  position: {
    latitude: 38,
    longitude: -122,
    z: 20000,
    spatialReference: { wkid: 3857 }
  }
});
view.camera = cam;

// 设置视图的camera航向为180度
var newCam = view.camera.clone();
newCam.heading = 180;
view.camera = newCam;
view.goTo({ target: pt, heading: 180 });

方法

clone():创建深复制camera对象。

fromJSON():创建这个类的一个新实例,并使用ArcGIS平台中产品生成的JSON对象的值对其进行初始化。

toJSON():将此类的实例转换为其ArcGIS门户JSON表示。


// 克隆视图的camera,因为它的几何形状不能直接修改
var cam = view.camera.clone();
// the position is autocast as new Point()
cam.position = {
  latitude: 38,
  longitude: -122,
  spatialReference: { wkid: 3857 }
}
//将视图设置为新camera
view.camera = cam;

 

版权声明:
作者:Gomo
链接:https://www.develophm.com/index.php/camera/511/
来源:开发之家
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>