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


JavaScript ArcGIS MapView.goTo用法及代碼示例


基本信息

以下是所在類或對象的基本信息。

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

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

類: esri/views/MapView

繼承: MapView > View > Accessor

自從:用於 JavaScript 4.0 的 ArcGIS API

用法說明

MapView.goTo函數(或屬性)的定義如下:

goTo (target, options) {Promise}


將視圖設置為給定目標。目標參數可以是以下之一:

  • [longitude, latitude] 坐標對
  • Geometry(或 Geometry[] 的數組)
  • Graphic(或 Graphic[] 的數組)
  • Viewpoint
  • 具有 targetcenterscalerotation 屬性組合的對象(其中 target 是上麵列出的任何類型)。提供 center 屬性是為了方便為 MapView.center 設置動畫,相當於指定以 Point 為中心的 target

此函數返回一個承諾,一旦新視圖設置為目標,該承諾就會解析。如果過渡是動畫的,則可以使用 MapView.animation 獲取正在進行的動畫。如果將視圖設置為新目標失敗,goTo() 方法返回的 Promise 將拒絕並出現錯誤。使用 catch 語句來處理錯誤:

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

如果使用切片Map服務作為底圖,並且 snapToZoom 屬性在約束中設置為 true,則 goTo 方法將放大以適合定義的 target 。如果 snapToZoom 屬性設置為 false ,則 goTo 方法將縮放到精確的 target

參數:

類型說明
target GoToTarget2D

要設置動畫的目標位置/視點。為 target 使用對象時,請使用 GoToTarget2D 中的屬性。

options GoToOptions2D
可選的

用於控製動畫持續時間和緩動的動畫選項。有關對象規範,請參閱GoToOptions2D 中定義的屬性。

返回:

類型 說明
Promise 當視圖的範圍更新到 target 中定義的範圍時解決的承諾。

例子:

let pt = new Point({
  latitude: 49,
  longitude: -126
});

// go to the given point
view.goTo(pt);
let opts = {
  duration: 5000  // Duration of animation will be 5 seconds
};

// go to point at LOD 15 with custom duration
view.goTo({
  target: pt,
  zoom: 15
}, opts);
// go to same point using center and zoom
view.goTo({
  center: [-126, 49],
  zoom: 15
});

相關用法


注:本文由純淨天空篩選整理自arcgis.com大神的英文原創作品 MapView.goTo。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。