类:选择

ol/interaction/Select~选择


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

用于选择矢量要素的交互。默认情况下,所选要素的样式不同,因此该交互可用于视觉突出显示,以及为其他操作(如修改或输出)选择要素。有三种方法可以控制选择哪些要素:使用由condition定义的浏览器事件,以及可选的toggleadd/removemulti选项;使用layers过滤器;以及使用filter选项的进一步要素过滤器。

new Select(options)

Name Type 描述
addCondition Condition | undefined

一个接收...的函数MapBrowserEvent并返回一个布尔值,以指示该事件是否应被处理。默认情况下,此值为never若需为添加和移除操作使用不同的事件(而非默认事件),请使用此方法。toggle.

condition Condition | undefined

一个函数接受一个MapBrowserEvent并返回一个布尔值,用于指示是否应当处理该事件。这是针对整个选定要素的事件。默认情况下,这是singleClick单击一个要素将选中该要素,并移除选择集中已有的任何要素。在要素外部单击将从选择集中移除所有要素。参见toggle, add, remove添加/移除选择集中额外要素的选项。

layers Array<Layer> | function | undefined

用于选择要素的图层列表。或者,可以提供过滤函数。该函数将对地图中的每个图层进行调用,并应返回true对于需要设置为可选的图层。若未指定该选项,则所有可见图层均将被视为可选。

style StyleLike | null | undefined

选中要素的样式。默认情况下,使用默认编辑样式(请参阅Style)。设置为null如果此交互不应为所选要素应用任何样式更改。如果设置为假值,所选要素的样式将不会更改。

removeCondition Condition | undefined

接受一个参数的函数MapBrowserEvent并返回布尔值以指示事件是否应被处理。默认情况下,这是never如果您想为添加和删除操作使用不同的事件,而不是toggle.

toggleCondition Condition | undefined

一个函数需要一个MapBrowserEvent并返回一个布尔值,用于指示是否应处理该事件。这是除默认处理之外的。condition事件。默认情况下,shiftKeyOnly即按下shift以及condition事件:若要素当前未被选中,则将其添加到当前选择;若要素当前已被选中,则将其移除。参见addremove如果你想使用不同的事件而非切换。

multi boolean (defaults to false)

一个布尔值,用于确定默认行为是否应仅选择点击地图位置处的单个要素,还是所有(重叠)要素。默认为false表示单选。

features Collection<Feature> | undefined

交互将放置选定要素的集合。可选。如果未设置,交互将创建一个集合。在任何情况下,交互使用的集合由getFeatures.

filter FilterFunction | undefined

一个接收参数的函数Feature和一个Layer并返回true若要素可能被选中或false否则。

hitTolerance number (defaults to 0)

命中检测容差:将在给定位置周围的半径范围内检查像素以确定是否存在要素。

触发事件:

继承

可观察属性

Name Type 可设置 ObjectEvent type 描述
active boolean 是的 change:active

true如果交互处于激活状态,false否则。

方法

增加修订计数器并触发“更改”事件。

dispatchEvent(event){boolean | undefined} inherited

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

Name Type 描述
event BaseEvent | string

事件对象。

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

获取值。

Name Type 描述
key string

键名。

返回:
值。

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

返回:
若交互激活,则为 true;否则为 false

获取选中的要素。

返回:
要素集合。

getHitTolerance(){number}

返回命中检测容差。

返回:
命中容差(像素)。

getKeys(){Array.<string>} inherited

获取对象属性名称列表。

返回:
属性名列表。

返回与所选要素关联的vector layer

Name Type 描述
feature Feature

要素

返回:
图层.

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

返回:
地图.

getProperties(){Object.<string, *>} inherited

获取包含所有属性名称及其值的对象。

返回:
对象。

getRevision(){number} inherited

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

返回:
修订。

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

监听某种类型的事件。

Name Type 描述
type string | Array.<string>

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

listener function

监听器函数。

返回:
监听器的唯一键。如果以事件类型数组作为第一个参数调用,则返回将是键数组。

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

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

Name Type 描述
type string | Array.<string>

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

listener function

监听器函数。

返回:
监听器的唯一键。若以事件类型数组作为第一个参数调用,则返回键的数组。

set(key, value, silent) inherited

设置值。

Name Type 描述
key string

键名。

value *

值。

silent boolean | undefined

在不触发事件的情况下更新。

启用或禁用交互。

Name Type 描述
active boolean

激活的。

setHitTolerance(hitTolerance)

命中检测容差。系统将检查给定位置周围半径内的像素是否与要素相交。

Name Type 描述
hitTolerance number

命中容差(像素)。

从当前地图(若存在)中移除交互,并将其添加至新地图(若存在)。传递 null 仅用于从当前地图移除交互。

Name Type 描述
map Map | null

地图.

setProperties(values, silent) inherited

设置键值对集合。注意:此操作将修改现有属性并添加新属性,且不会删除任何现有属性。

Name Type 描述
values Object.<string, *>

值。

silent boolean | undefined

在不触发事件的情况下更新。

un(type, listener) inherited

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

Name Type 描述
type string | Array.<string>

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

listener function

监听器函数。

unset(key, silent) inherited

移除属性

Name Type 描述
key string

键名。

silent boolean | undefined

取消设置而不触发事件。