当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


JavaScript ArcGIS SceneView.goTo用法及代码示例


基本信息

以下是所在类或对象的基本信息。

AMD: require(["esri/views/SceneView"], (SceneView) => { /* code goes here */ });

ESM: import SceneView from "@arcgis/core/views/SceneView";

类: esri/views/SceneView

继承: SceneView > View > Accessor

自从:用于 JavaScript 4.0 的 ArcGIS API

用法说明

SceneView.goTo函数(或属性)的定义如下:

goTo (target, options) {Promise}


将视图设置为给定目标。目标参数可以是以下之一:

  • [longitude, latitude] 坐标对
  • Geometry(或 Geometry[] 的数组)
  • Graphic(或 Graphic[] 的数组)
  • Viewpoint
  • Camera
  • 具有 targetcenterscalepositionheadingtilt 属性组合的对象(其中 target 是上面列出的任何类型)。提供 center 属性是为了方便为 SceneView.center 设置动画,相当于指定以 Point 为中心的 target 。必须在视图的空间参考中提供目标。

此函数返回一个承诺,一旦新视图设置为目标,该承诺就会解析。如果过渡是动画的,则可以使用 SceneView.animation 获取正在进行的动画。如果将视图设置为新目标失败,goTo() 方法返回的 Promise 将拒绝并出现错误。使用 catch 语句来处理错误:

view.goTo({
  center: [-126, 49]
})
.catch(function(error) {
  if (error.name != "AbortError") {
     console.error(error);
  }
});

如果给定目标远离当前相机位置,则航向和倾斜将自动设置为其中性值(面向北方,自上而下)。始终可以显式设置倾斜和航向以覆盖此行为。

参数:

类型说明
target GoToTarget3D

要前往的目标位置/视点。为 target 使用对象时,请使用 GoToTarget3D 中定义的属性。

options GoToOptions3D
可选的

查看过渡选项。有关详细信息,请参阅GoToOptions3D 中定义的规范。

返回:

类型 说明
Promise 当视图的范围更新到 target 中定义的范围时解决的承诺。

例子:

view.goTo({
  center: [-126, 49],
  heading: 180, // set the heading to point South
  tilt: view.camera.tilt, // maintain tilt value
});
// go to a location defined by a Camera object
let cam = new Camera({
  position: new Point({
    x: -100.23, // lon
    y: 65,      // lat
    z: 10000,   // elevation in meters
  }),

  heading: 180, // facing due south
  tilt: 45      // bird's eye view
});

view.goTo(cam);
// go to a point using center, zoom, tilt, and heading
view.goTo({
  center: [-126, 49],
  zoom: 13,
  tilt: 75,
  heading: 105
});
// goTo returns a Promise which resolves when the animation has finished.
// This promise may be chained to create a sequence of animations.
view.goTo(graphic1)
    .then(function() {
      return view.goTo(graphic2);
    })
    .then(function() {
      return view.goTo(graphic3);
    });
// goTo returns a Promise which resolves when the animation has finished.
// This promise may be chained to create a sequence of animations.
view.goTo(graphic1)
    .then(function() {
      return view.goTo(graphic2);
    })
    .then(function() {
      return view.goTo(graphic3);
    });

相关用法


注:本文由纯净天空筛选整理自arcgis.com大神的英文原创作品 SceneView.goTo。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。