# 手势交互

#### 场景介绍

本章节将向您介绍如何使用地图的手势。

Map Kit提供了多种手势供用户与地图之间进行交互。如缩放：双指捏合操作以放大或缩小地图；滚动：单指拖动以平移地图视图；旋转：双指旋转操作以改变地图方向；倾斜：双指上下滑动以调整地图视角。这些手势默认开启，如果想要关闭某些手势，可以通过MapComponentController类提供的接口来控制手势的开关。

#### 接口说明

以下是地图手势相关接口，该功能有2种实现方式：

*   地图初始化时，可在初始化参数MapOptions中设置是否启用手势功能，详细讲解见显示地图章节。
    
*   通过调用MapComponentController提供的set方法实现相关手势的开启或关闭。
    

| 接口名 | 描述 |
| --- | --- |
| setZoomGesturesEnabled(enabled: boolean): void | 设置是否启用缩放手势。 默认值为true。 |
| setScrollGesturesEnabled(enabled: boolean): void | 设置是否启用滚动手势。 默认值为true。 |
| setRotateGesturesEnabled(enabled: boolean): void | 设置是否启用旋转手势。 默认值为true。 |
| setTiltGesturesEnabled(enabled: boolean): void | 设置是否启用倾斜手势。 默认值为true。 |
| setAllGesturesEnabled(enabled: boolean): void | 设置手势是否可用。 默认值为true。 |

#### 开发步骤

mapController对象在初始化地图时获取，初始化地图功能在显示地图章节中有详细讲解。

#### 地图手势控制

您可以通过mapController对象来启用或禁止相关的地图手势。

**缩放手势：**

用户可以通过用双指捏合，实现放大缩小地图。

```
this.mapController.setZoomGesturesEnabled(true);
```

**滚动平移手势：**

用户可以通过用手指拖动地图来进行移动。

```
this.mapController.setScrollGesturesEnabled(true);
```

**旋转手势：**

用户可以通过将两个手指放在地图上旋转来旋转地图。

```
this.mapController.setRotateGesturesEnabled(true);
```

**倾斜手势：**

用户可以通过将两个手指放在地图上下滑动来倾斜地图。

```
this.mapController.setTiltGesturesEnabled(true);
```

**启用或禁止所有手势：**

通过调用setAllGesturesEnabled方法，可启用或禁止所有手势。

```
// 禁止所有手势
this.mapController.setAllGesturesEnabled(false);
```