Class: Extent

ol/interaction/Extent~Extent


import Extent from 'ol/interaction/Extent.js';

允许用户通过在地图上点击和拖动来绘制矢量范围框。 绘制完成后,可以通过拖动其顶点或边来修改矢量范围框。 该交互还可以配置初始范围和 createCondition, 以在需要时防止在 pointerdown 时创建新范围。

new Extent(options)

Name Type Description
condition Condition | undefined

一个函数,接受 MapBrowserEvent 并返回一个 布尔值以指示是否应处理该事件。 默认为 always

createCondition Condition | null (defaults to null)

一个函数,接受 MapBrowserEvent 并返回一个 布尔值以指示是否应处理该事件以创建新Extent 如果为 nullcondition 也将用作 createCondition

drag boolean (defaults to false)

范围可以拖动。

extent Extent | undefined

初始Extent默认无初始Extent

boxStyle StyleLike | undefined

绘制的范围框样式。默认为 Style 中记录的 Polygon 编辑样式

pixelTolerance number (defaults to 10)

用于判断指针是否足够接近线段或顶点以进行编辑的像素容差。

pointerStyle StyleLike | undefined

用于绘制范围的光标样式。默认为 Style 中记录的 Point 编辑样式

wrapX boolean (defaults to false)

是否在 X 方向上跨多个地图换行绘制的范围?仅影响视觉效果,不影响功能。

触发事件:

Extends

Observable Properties

Name Type Settable ObjectEvent type Description
active boolean yes change:active

true 如果交互处于活动状态,否则为 false

Methods

增加修订计数器并分发 'change' 事件。

dispatchEvent(event){boolean | undefined} inherited

分发事件并调用所有监听此类型事件的监听器。 事件参数可以是字符串或带有 type 属性的对象。

Name Type Description
event BaseEvent | string

事件对象。

返回值:
false 如果有人对事件对象调用了 preventDefault,或任何监听器返回 false。

获取一个值。

Name Type Description
key string

键名。

返回值:
值。

返回交互当前是否处于活动状态。

返回值:
true 如果交互处于活动状态,否则为 false

返回当前绘制的范围(视图投影,或用户投影如果已设置)

返回值:
视图投影中的绘制Extent

getExtentInternal(){Extent}

返回视图投影中当前绘制的范围

Deprecated
返回值:
视图投影中的绘制Extent

getKeys(){Array.<string>} inherited

获取对象属性名列表。

返回值:
属性名列表。

获取与此交互关联的地图。

返回值:
地图。

getPointerCount(){number} inherited

返回交互中当前涉及的指针数量,例如使用两个手指时为 2

返回值:
指针数量。

getProperties(){NoInfer.<Properties>} inherited

获取包含所有属性名和值的对象。

返回值:
对象。

getRevision(){number} inherited

获取此对象的版本号。 每次对象被修改时,其版本号将递增。

返回值:
版本号。

on(type, listener){EventsKey | Array<EventsKey>} inherited

监听特定类型的事件。

Name Type Description
type string | Array.<string>

事件类型或事件类型数组。

listener function

监听器函数。

返回值:
监听器的唯一键。如果第一个参数是事件类型数组,则返回键的数组。

once(type, listener){EventsKey | Array<EventsKey>} inherited

仅监听一次特定类型的事件。

Name Type Description
type string | Array.<string>

事件类型或事件类型数组。

listener function

监听器函数。

返回值:
监听器的唯一键。如果第一个参数是事件类型数组,则返回键的数组。

set(key, value, silent) inherited

设置一个值。

Name Type Description
key string

键名。

value *

值。

silent boolean | undefined

更新但不触发事件。

激活或停用交互。

Name Type Description
active boolean

是否激活。

setExtent(extent)

使用视图投影手动设置绘制的Extent

Name Type Description
extent Extent

范围

setProperties(values, silent) inherited

设置一组键值对。 注意,这会更改任何现有属性并添加新属性(不会移除任何现有属性)。

Name Type Description
values Partial.<NoInfer.<Properties>>

值。

silent boolean | undefined

更新但不触发事件。

un(type, listener) inherited

取消监听特定类型的事件。

Name Type Description
type string | Array.<string>

事件类型或事件类型数组。

listener function

监听器函数。

unset(key, silent) inherited

取消设置一个属性。

Name Type Description
key string

键名。

silent boolean | undefined

取消设置但不触发事件。