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


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


基本信息

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

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.constraints函數(或屬性)的定義如下:

constraints Object


指定可應用於 MapView 的縮放、縮放和旋轉約束。如果Map沒有 basemap 或底圖沒有 tileInfo ,則應在 MapView 構造函數中設置 constraints.lods 。請參閱縮放和 LOD 部分以了解 MapView 的縮放和 LOD 工作原理的更多信息。請參閱下麵的對象規範。

屬性:

類型說明
lods LOD[]
可選的

LODs 的數組。如果未指定,則從 Map 讀取此值。可以通過TileInfo.create() 方法生成額外的 LOD。這在提供的默認 LOD 數量不足的情況下很有用。需要這樣做的一個示例是在將視圖比例設置為 1:1 時。此外,此屬性可能是 autocast

geometry Geometry
可選的

允許用戶橫向導航的區域。僅支持 ExtentPolygon 幾何類型。 Z-values 被忽略。交互式 MapView 導航和 goTo() 遵循此屬性。該屬性可能是autocast

minScale Number
可選的

允許用戶在視圖內縮放的最小比例。

maxScale Number
可選的

允許用戶在視圖內縮放的最大比例。將此值設置為 0 允許用戶過度縮放圖層圖塊。

minZoom Number
可選的

允許用戶在視圖內縮放的最小縮放級別。

maxZoom Number
可選的

允許用戶在視圖內縮放的最大縮放級別。將此值設置為0 允許用戶over-zoom 圖層圖塊。

snapToZoom Boolean
可選的
默認值:真的

true 時,視圖在放大或縮小時捕捉到下一個 LOD。當 false 時,縮放是連續的。這不適用於使用兩根手指捏合/拉出進行放大/縮小。

rotationEnabled Boolean
可選的
默認值:真的

指示用戶是否可以旋轉Map。

effectiveLODs LOD[]
可選的

一個隻讀屬性,指定從 Map 讀取的詳細級別 (LOD)。

effectiveMinZoom Number
可選的

隻讀屬性,指定允許用戶在視圖內縮放到的最小縮放級別。

effectiveMaxZoom Number
可選的

隻讀屬性,指定允許用戶在視圖內縮放的最大縮放級別。

effectiveMinScale Number
可選的

隻讀屬性,指定允許用戶在視圖內縮放的最小比例。

effectiveMaxScale Number
可選的

隻讀屬性,指定允許用戶在視圖內縮放的最大比例。

例子:

view.constraints = {
  geometry: { // Constrain lateral movement to Lower Manhattan
    type: "extent",
    xmin: -74.020,
    ymin:  40.700,
    xmax: -73.971,
    ymax:  40.73
  },
  minScale: 500000, // User cannot zoom out beyond a scale of 1:500,000
  maxScale: 0, // User can overzoom tiles
  rotationEnabled: false // Disables map rotation
};
// This snippet shows how to set the MapView scale 1:1 while generating additional LODs for the MapView.constraints.
const spatialReference = new SpatialReference({
  wkid: 2154
});
const center = new Point({
  x: 0,
  y: 0,
  spatialReference
});

// Create LODs from level 0 to 31
const tileInfo = TileInfo.create({
  spatialReference,
  numLODs: 32
});
const lods = tileInfo.lods;

let view = new MapView({
  container: "viewDiv",
  map,
  scale: 1,
  center,
  spatialReference,
  constraints: {
    lods: lods,
    snapToZoom: false
  }
});

相關用法


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