---
title: Class: DrawTool
source: https://vjmap.com/en/doc/Class_DrawTool.html
---

# Class: DrawTool

### Implements

- [*IDrawTool*](#interfacesdefaultidrawtoolmd)

### Table of contents

#### Constructors

- [constructor](#constructor)

#### Properties

- [add](#add)
- [changeMode](#changemode)
- [combineFeatures](#combinefeatures)
- [delete](#delete)
- [deleteAll](#deleteall)
- [doAction](#doaction)
- [forceRefresh](#forcerefresh)
- [get](#get)
- [getAll](#getall)
- [getFeatureIdsAt](#getfeatureidsat)
- [getMode](#getmode)
- [getSelected](#getselected)
- [getSelectedIds](#getselectedids)
- [getSelectedPoints](#getselectedpoints)
- [modes](#modes)
- [onAdd](#onadd)
- [onRemove](#onremove)
- [options](#options)
- [redo](#redo)
- [set](#set)
- [setFeatureProperty](#setfeatureproperty)
- [trash](#trash)
- [uncombineFeatures](#uncombinefeatures)
- [undo](#undo)

### Constructors

#### constructor

\+ **new DrawTool**(`options?`: [*IDrawOptions*](#interfacesdefaultidrawoptionsmd)): [*DrawTool*](#classesdefaultdrawtoolmd)

构造函数

##### Parameters

| Name | Type |
| :------ | :------ |
| `options?` | [*IDrawOptions*](#interfacesdefaultidrawoptionsmd) |

**Returns:** [*DrawTool*](#classesdefaultdrawtoolmd)

### Properties

#### add

• **add**: (`geojson`: *any*) => *string*[]

此方法采用 GeoJSON Feature、FeatureCollection 或 Geometry 并将其添加到 Draw。它返回一个 id 数组，用于与添加的功能进行交互。如果某个功能没有自己的 id，则会自动生成一个

##### Type declaration

▸ (`geojson`: *any*): *string*[]

##### Parameters

| Name | Type |
| :------ | :------ |
| `geojson` | *any* |

**Returns:** *string*[]

Implementation of: [IDrawTool](#interfacesdefaultidrawtoolmd).[add](#add)

___

#### changeMode

• **changeMode**: (`mode`: *string*, `modeOptions?`: *any*) => [*IDrawTool*](#interfacesdefaultidrawtoolmd)

将绘图更改为另一种模式。返回用于链接的绘制实例

##### Type declaration

▸ (`mode`: *string*, `modeOptions?`: *any*): [*IDrawTool*](#interfacesdefaultidrawtoolmd)

##### Parameters

| Name | Type |
| :------ | :------ |
| `mode` | *string* |
| `modeOptions?` | *any* |

**Returns:** [*IDrawTool*](#interfacesdefaultidrawtoolmd)

Implementation of: [IDrawTool](#interfacesdefaultidrawtoolmd).[changeMode](#changemode)

___

#### combineFeatures

• **combineFeatures**: () => [*IDrawTool*](#interfacesdefaultidrawtoolmd)

调用当前模式的combineFeatures操作。返回用于链接的绘制实例

##### Type declaration

▸ (): [*IDrawTool*](#interfacesdefaultidrawtoolmd)

**Returns:** [*IDrawTool*](#interfacesdefaultidrawtoolmd)

Implementation of: [IDrawTool](#interfacesdefaultidrawtoolmd).[combineFeatures](#combinefeatures)

___

#### delete

• **delete**: (`featureIds`: *string* \| *string*[]) => [*IDrawTool*](#interfacesdefaultidrawtoolmd)

删除具有指定 ID 的功能。返回用于链接的绘制实例

##### Type declaration

▸ (`featureIds`: *string* \| *string*[]): [*IDrawTool*](#interfacesdefaultidrawtoolmd)

##### Parameters

| Name | Type |
| :------ | :------ |
| `featureIds` | *string* \| *string*[] |

**Returns:** [*IDrawTool*](#interfacesdefaultidrawtoolmd)

Implementation of: [IDrawTool](#interfacesdefaultidrawtoolmd).[delete](#delete)

___

#### deleteAll

• **deleteAll**: () => [*IDrawTool*](#interfacesdefaultidrawtoolmd)

删除所有功能。返回用于链接的绘制实例

##### Type declaration

▸ (): [*IDrawTool*](#interfacesdefaultidrawtoolmd)

**Returns:** [*IDrawTool*](#interfacesdefaultidrawtoolmd)

Implementation of: [IDrawTool](#interfacesdefaultidrawtoolmd).[deleteAll](#deleteall)

___

#### doAction

• **doAction**: (`actionName`: *string*) => *any*

在当前模式下执行动作

##### Type declaration

▸ (`actionName`: *string*): *any*

##### Parameters

| Name | Type |
| :------ | :------ |
| `actionName` | *string* |

**Returns:** *any*

Implementation of: [IDrawTool](#interfacesdefaultidrawtoolmd).[doAction](#doaction)

___

#### forceRefresh

• **forceRefresh**: () => *any*

强制刷新

##### Type declaration

▸ (): *any*

**Returns:** *any*

Implementation of: [IDrawTool](#interfacesdefaultidrawtoolmd).[forceRefresh](#forcerefresh)

___

#### get

• **get**: (`id`: *string*) => *any*

返回 Draw 中具有指定 id 的 GeoJSON 功能，或者undefined如果 id 不匹配任何功能

##### Type declaration

▸ (`id`: *string*): *any*

##### Parameters

| Name | Type |
| :------ | :------ |
| `id` | *string* |

**Returns:** *any*

Implementation of: [IDrawTool](#interfacesdefaultidrawtoolmd).[get](#get)

___

#### getAll

• **getAll**: () => *FeatureCollection*<Geometry \| GeometryCollection, Properties\>

返回所有功能的 FeatureCollection

##### Type declaration

▸ (): *FeatureCollection*<Geometry \| GeometryCollection, Properties\>

**Returns:** *FeatureCollection*<Geometry \| GeometryCollection, Properties\>

Implementation of: [IDrawTool](#interfacesdefaultidrawtoolmd).[getAll](#getall)

___

#### getFeatureIdsAt

• **getFeatureIdsAt**: (`point`: { `x`: *number* ; `y`: *number*  }) => *string*[]

返回当前在指定点呈现的功能的功能 ID 数组。

##### Type declaration

▸ (`point`: { `x`: *number* ; `y`: *number*  }): *string*[]

##### Parameters

| Name | Type |
| :------ | :------ |
| `point` | *object* |
| `point.x` | *number* |
| `point.y` | *number* |

**Returns:** *string*[]

Implementation of: [IDrawTool](#interfacesdefaultidrawtoolmd).[getFeatureIdsAt](#getfeatureidsat)

___

#### getMode

• **getMode**: () => *string*

返回 Draw 的当前模式

##### Type declaration

▸ (): *string*

**Returns:** *string*

Implementation of: [IDrawTool](#interfacesdefaultidrawtoolmd).[getMode](#getmode)

___

#### getSelected

• **getSelected**: () => *FeatureCollection*<Geometry \| GeometryCollection, Properties\>

返回当前选择的所有功能的 FeatureCollection

##### Type declaration

▸ (): *FeatureCollection*<Geometry \| GeometryCollection, Properties\>

**Returns:** *FeatureCollection*<Geometry \| GeometryCollection, Properties\>

Implementation of: [IDrawTool](#interfacesdefaultidrawtoolmd).[getSelected](#getselected)

___

#### getSelectedIds

• **getSelectedIds**: () => *string*[]

返回当前所选功能的功能 ID 数组

##### Type declaration

▸ (): *string*[]

**Returns:** *string*[]

Implementation of: [IDrawTool](#interfacesdefaultidrawtoolmd).[getSelectedIds](#getselectedids)

___

#### getSelectedPoints

• **getSelectedPoints**: () => *FeatureCollection*<Geometry \| GeometryCollection, Properties\>

返回代表当前选择的所有顶点的 FeatureCollection 点

##### Type declaration

▸ (): *FeatureCollection*<Geometry \| GeometryCollection, Properties\>

**Returns:** *FeatureCollection*<Geometry \| GeometryCollection, Properties\>

Implementation of: [IDrawTool](#interfacesdefaultidrawtoolmd).[getSelectedPoints](#getselectedpoints)

___

#### modes

• **modes**: *Record*<string, any\>

内部变量模式值

Implementation of: [IDrawTool](#interfacesdefaultidrawtoolmd).[modes](#modes)

___

#### onAdd

• **onAdd**: (`map`: *any*) => *any*

增加时回调接口

##### Type declaration

▸ (`map`: *any*): *any*

##### Parameters

| Name | Type |
| :------ | :------ |
| `map` | *any* |

**Returns:** *any*

Implementation of: [IDrawTool](#interfacesdefaultidrawtoolmd).[onAdd](#onadd)

___

#### onRemove

• **onRemove**: () => *any*

移除时回调接口

##### Type declaration

▸ (): *any*

**Returns:** *any*

Implementation of: [IDrawTool](#interfacesdefaultidrawtoolmd).[onRemove](#onremove)

___

#### options

• **options**: *Record*<string, any\>

内部变量选项值

Implementation of: [IDrawTool](#interfacesdefaultidrawtoolmd).[options](#options)

___

#### redo

• **redo**: () => *any*

##### Type declaration

▸ (): *any*

**Returns:** *any*

Implementation of: [IDrawTool](#interfacesdefaultidrawtoolmd).[redo](#redo)

___

#### set

• **set**: (`featureCollection`: *FeatureCollection*<Geometry \| GeometryCollection, Properties\>) => *string*[]

将 Draw 的功能设置为指定的 FeatureCollection

##### Type declaration

▸ (`featureCollection`: *FeatureCollection*<Geometry \| GeometryCollection, Properties\>): *string*[]

##### Parameters

| Name | Type |
| :------ | :------ |
| `featureCollection` | *FeatureCollection*<Geometry \| GeometryCollection, Properties\> |

**Returns:** *string*[]

Implementation of: [IDrawTool](#interfacesdefaultidrawtoolmd).[set](#set)

___

#### setFeatureProperty

• **setFeatureProperty**: (`featureId`: *string*, `property`: *string*, `value`: *any*) => [*IDrawTool*](#interfacesdefaultidrawtoolmd)

设置具有指定 id 的要素的属性值。返回用于链接的绘制实例

##### Type declaration

▸ (`featureId`: *string*, `property`: *string*, `value`: *any*): [*IDrawTool*](#interfacesdefaultidrawtoolmd)

##### Parameters

| Name | Type |
| :------ | :------ |
| `featureId` | *string* |
| `property` | *string* |
| `value` | *any* |

**Returns:** [*IDrawTool*](#interfacesdefaultidrawtoolmd)

Implementation of: [IDrawTool](#interfacesdefaultidrawtoolmd).[setFeatureProperty](#setfeatureproperty)

___

#### trash

• **trash**: () => [*IDrawTool*](#interfacesdefaultidrawtoolmd)

调用当前模式的删除trash操作。返回用于链接的绘制实例

##### Type declaration

▸ (): [*IDrawTool*](#interfacesdefaultidrawtoolmd)

**Returns:** [*IDrawTool*](#interfacesdefaultidrawtoolmd)

Implementation of: [IDrawTool](#interfacesdefaultidrawtoolmd).[trash](#trash)

___

#### uncombineFeatures

• **uncombineFeatures**: () => [*IDrawTool*](#interfacesdefaultidrawtoolmd)

##### Type declaration

▸ (): [*IDrawTool*](#interfacesdefaultidrawtoolmd)

**Returns:** [*IDrawTool*](#interfacesdefaultidrawtoolmd)

Implementation of: [IDrawTool](#interfacesdefaultidrawtoolmd).[uncombineFeatures](#uncombinefeatures)

___

#### undo

• **undo**: () => *any*

##### Type declaration

▸ (): *any*

**Returns:** *any*

Implementation of: [IDrawTool](#interfacesdefaultidrawtoolmd).[undo](#undo)


<a name="classesellipseedgemd"></a>

[vjmap](#readmemd) / [Exports](#modulesmd) / EllipseEdge
