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


JavaScript ArcGIS SnappingOptions用法及代碼示例


基本信息

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

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

ESM: import SnappingOptions from "@arcgis/core/views/interactive/snapping/SnappingOptions";

類: esri/views/interactive/snapping/SnappingOptions

繼承: SnappingOptions > Accessor

自從:用於 JavaScript 4.19 的 ArcGIS API

用法說明

SnappingOptions 允許用戶在 SketchEditor 小部件中為他們的編輯或繪圖體驗配置捕捉。

捕捉選項提供了指定應用程序是使用自捕捉、特征捕捉還是兩者兼有的能力。兩者都在下麵說明。

也可以通過按住CTRL 鍵來切換捕捉。這將打開/關閉捕捉。

自捕捉(幾何參考線)

自捕捉是通過 selfEnabled 屬性設置的。這意味著,當用戶主動創建或更新要素或圖形時,除了有助於捕捉現有要素的延伸的可視化之外,他們還將看到有助於識別垂直線和平行線的可視化。下麵簡要演示了 2D 應用程序中的自捕捉是什麽樣子的。盡管這是針對 2D 顯示的,但相同的前提也適用於 3D。

self-snapping

特征捕捉

函數捕捉是通過 featureEnabled 屬性設置的。它提供了將當前正在繪製或重塑的圖形或特征的頂點捕捉到現有特征的頂點、邊或端點的能力。這些現有要素屬於 Map 內的圖層,並且必須在 featureSources 屬性中指定。以下兩個圖像演示了 2D 應用程序中的特征捕捉。與自捕捉類似,相同的前提也適用於 3D。

feature-snapping-create

上麵顯示了在創建新特征時特征捕捉到現有特征的頂點端點和邊。底部演示了獲取現有特征並重新調整其幾何形狀以捕捉到另一個特征的頂點。

feature-snapping-update

需要考慮的事項:

名字 細節 3D 示例 二維示例
Rectangle 捕捉彼此垂直的線 Rectangle Rectangle-2d
Parallel 捕捉到所有平行線 Parallel Parallel-2d
Extension 捕捉到當前形狀的擴展 Extension Extension-2
頂點(如更新幾何時所見) 將頂點捕捉到現有頂點 Vertex Vertex-2

例子:

// Create a new instance of Sketch, and set
// a layer for one of the featureSources property.
// This enables feature snapping on that layer.
const sketch = new Sketch({
  layer: graphicsLayer,
  view: view,
  snappingOptions: { // autocasts to SnappingOptions()
    enabled: true, // global snapping is turned on
    // assigns a collection of FeatureSnappingLayerSource() and enables feature snapping on this layer
    featureSources: [{ layer: graphicsLayer, enabled: true }]
  }
});

相關用法


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