SnappingOptions
允许用户为他们在 Sketch 和 Editor 小部件中的编辑或绘图体验配置捕捉。
捕捉选项提供了指定应用程序是利用自捕捉和/或要素捕捉的功能。下面将介绍两者。
也可以通过按住 CTRL
键来切换捕捉。 这将打开/关闭捕捉。
自捕捉(几何参考线)
自对齐是通过 selfEnabled 属性设置的。意味着当用户主动创建或更新特征或图形时,他们将看到有助于识别垂直线和平行线的可视化,以及有助于捕捉到现有特征的扩展的可视化。 下面简要演示了 2D 应用程序中的自捕捉外观。 虽然这是针对 2D 显示的,但同样的前提也适用于 3D。
要素捕捉
要素捕捉是通过 featureEnabled 属性设置的。 它能够将当前正在绘制或重塑的图形或要素的顶点捕捉到现有要素的顶点、边或端点的顶点。这些现有要素属于 Map 中的图层,必须在 featureSources 属性中指定。以下两张图片演示了 2D 应用程序中的要素捕捉。 与自捕捉类似,同样的前提也适用于 3D。
上图显示了在创建新要素时要素捕捉到现有要素的顶点端点和边。 底部演示了采用现有要素并重新调整其几何形状以捕捉到另一个要素的顶点。
要考虑的点:
- 当前支持捕捉的图层类型有:FeatureLayer, GraphicsLayer, GeoJSONLayer, WFSLayer, 和 CSVLayer.
- 使用 Sketch 微件 的圆形工具时尚未实现捕捉。 它将在未来的版本中解决。
- 目前不支持使用 Sketch 微件 的矩形和圆形工具通过
CTRL
键启用捕捉。但是,仍然可以通过在 Sketch 微件 或其 视图模型 中将 snappingOptions.enabled 属性设置为true
来激活捕捉。 请注意,这将为所有工具启用捕捉。 此行为可能会在将来的版本中更改。 - 目前,应使用 2D 透视图查看 3D 捕捉,因为尚未实现捕捉到 z 轴。
属性 | 详情 | 3D 示例 | 2D 示例 |
---|---|---|---|
Rectangle | 捕捉相互垂直的线 |
||
Parallel | 捕捉到所有平行线 |
||
Extension | 捕捉到当前形状的扩展 |
||
Vertex (as seen when updating geometries) | 将顶点捕捉到现有顶点 |
- 示例:
// 创建一个新的 Sketch 实例,
// 并为其中一个 featureSources 属性设置一个图层。 const sketch = new Sketch({
layer: graphicsLayer,
view: view,
snappingOptions: { // 自动转换成 SnappingOptions()
enabled: true,
featureSources: [{ layer: graphicsLayer }] // 自动转换成 FeatureSnappingLayerSource()
}
});
构造函数
属性列表
属性 | 类型 | 描述 | 类 | |
---|---|---|---|---|
String | 更多信息 类名。 | 更多信息 | Accessor | |
Number | 更多信息 捕捉距离,以像素为单位。 | 更多信息 | SnappingOptions | |
Boolean | 更多信息 用于打开或关闭捕捉的全局配置。 | 更多信息 | SnappingOptions | |
Boolean | 更多信息 用于打开或关闭特征捕捉的全局配置选项。 | 更多信息 | SnappingOptions | |
Collection<FeatureSnappingLayerSource> | 更多信息 要素捕捉的来源列表。 | 更多信息 | SnappingOptions | |
Boolean | 更多信息 全局配置选项,用于打开或关闭自捕捉(在绘制或整形时在一个要素内)。 | 更多信息 | SnappingOptions |
属性详细说明
-
类名。类的名称声明格式为
geoscene.folder.className
。
-
distance Number
-
捕捉距离,以像素为单位。
- 默认值:5
-
enabled Boolean
-
用于打开或关闭捕捉的全局配置。 请注意,默认情况下会关闭捕捉。
- 默认值:false
-
featureEnabled Boolean
-
用于打开或关闭特征捕捉的全局配置选项。
- 默认值:true
-
featureSources Collection<FeatureSnappingLayerSource>
-
要素捕捉的来源列表。 请参阅 FeatureSnappingLayerSource 了解有关支持哪些图层源的更多信息。
-
selfEnabled Boolean
-
全局配置选项,用于打开或关闭自捕捉(在绘制或整形时在一个要素内)。
- 默认值:true