模块:ol/interaction/Draw

ol/interaction/Draw


DrawEvent
Draw

函数

import {createBox} from 'ol/interaction/Draw';

创建一个 geometryFunction,用于生成与坐标系轴对齐的矩形多边形。结合绘制交互和 type: 'Circle' 使用,可返回矩形几何而非圆形几何。

返回:
绘制矩形多边形的函数。

createRegularPolygon(sides, angle){GeometryFunction}

import {createRegularPolygon} from 'ol/interaction/Draw';

type: 'Circle' 创建 geometryFunction,该函数将生成一个具有用户指定边数和起始角度的正多边形,而非 Circle 几何图形。

Name Type 描述
sides number | undefined

正多边形的边数。默认值为 32。

angle number | undefined

第一个点的角度(逆时针弧度)。0 表示正东方向。默认值为从正多边形中心到当前指针位置的方位角所定义的角度。

返回:
绘制多边形的函数。

类型定义

GeometryFunction()

该函数接收一个坐标数组、一个可选的现有几何图形以及一个投影作为参数,并返回一个几何图形。该可选的现有几何图形是在未提供第二个参数调用函数时返回的对象。

LineCoordType{module:interaction/tracing~LineCoordType}

Mode{'Point'} {'LineString'} {'Polygon'} {'Circle'}

绘图模式会将多部分几何类型与其单部分几何类型合并。

Options{Object}

属性:
Name Type 描述
type Type

使用此实例绘制的几何类型。

clickTolerance number
(defaults to 6)

用于使“释放”事件被视为“单击”事件的“按下”与“释放”之间最大像素距离,并在此情况下向正在绘制的几何体添加点或顶点。默认为6选择此选项以确保绘图交互在鼠标和触摸设备上均能正确运行。

features Collection<Feature> | undefined

绘制要素的目标集合

source VectorSource | undefined

绘制要素的目标数据源。

dragVertexDelay number
(defaults to 500)

指针按下后,当前顶点可拖动到精确位置前的延迟(毫秒)。

snapTolerance number
(defaults to 12)

用于捕捉到绘图完成的像素距离。必须大于0.

stopClick boolean
(defaults to false)

在绘图过程中,阻止点击、单击和双击事件的触发。

maxPoints number | undefined

在闭合多边形环或线串前可绘制的顶点数。默认情况下无限制。

minPoints number | undefined

完成多边形环或线串所需绘制的最小点数。默认为3对于多边形环和2针对线串。

finishCondition Condition | undefined

函数MapBrowserEvent接受单个参数,返回布尔值以指示绘图是否可完成。在绘制点(POINT)或多点(MULTI_POINT)几何图形时,该方法不适用。

style StyleLike | FlatStyleLike | undefined

草图要素的样式。绘制交互最多可以有三个草图要素,具体取决于模式。它总是包含一个要素,其中Point当前光标位置对应的几何。如果模式是LineStringPolygon,并且当至少有一个绘制的点时,它还将包含一个要素,其值为LineString对应于已绘制点与当前光标位置之间线段的几何。如果模式是Polygon并且当至少存在一个绘制点时,它还将包含一个要素,其值为Polygon对应于已绘制点与当前光标位置之间多边形的几何图形(注意:如果仅绘制一个点,则该多边形仅有两个点)。如果模式是Circle,并且当绘制了一个点时,它还将包含一个要素,带有一个Circle该几何图形以绘制点为中心,半径由绘制点与光标之间的距离确定。

geometryFunction GeometryFunction | undefined

当几何体的坐标更新时调用的函数。

geometryName string | undefined

绘制交互创建要素的几何名称。

condition Condition | undefined

一个函数接受一个MapBrowserEvent默认返回一个布尔值,用于指示该事件是否应被处理。noModifierKeys,即单击可添加顶点或停用自由绘制。

freehand boolean
(defaults to false)

以自由绘制模式操作直线、多边形和圆形。这使交互始终以自由绘制模式运行,并优先于任何其他设置。freehandCondition选项。

freehandCondition Condition | undefined

激活线和多边形徒手绘制的条件。此函数需要一个MapBrowserEvent并返回一个布尔值,用于指示是否应处理该事件。默认为shiftKeyOnly,表示 Shift 键启用自由绘制。

trace boolean | Condition
(defaults to false)

跟踪另一几何体的一部分。徒手模式下忽略。

traceSource VectorSource | undefined

待跟踪要素的数据源。如果跟踪处于活动状态并且traceSource若未提供,交互的source将被使用。跟踪需要将交互配置为traceSource或一个source.

wrapX boolean
(defaults to false)

在草图叠加层上水平包裹世界。

geometryLayout GeometryLayout
(defaults to 'XY')

绘制交互所创建要素几何的布局。

PointCoordType{Coordinate}

绘制点要素时的坐标类型。

PolyCoordType{Array<Array<Coordinate>>}

绘制多边形时的坐标类型。

用于坐标绘制的类型。

TraceState{module:interaction/tracing~TraceState}

TraceTarget{module:interaction/tracing~TraceTarget}