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


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。