當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。