手势交互
====

#### 场景介绍

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

Map Kit提供了多种手势供用户与地图之间进行交互，如缩放、滚动、旋转和倾斜。这些手势默认开启，如果想要关闭某些手势，可以通过[MapComponentController](https://developer.huawei.com/consumer/cn/doc/harmonyos-references/map-map-mapcomponentcontroller)类提供的接口来控制手势的开关。

![](https://contentcenter-vali-drcn.dbankcdn.cn/pvt_2/DeveloperAlliance_scene_100_1/3e/v3/CUtPvTIISBiZtprKlvab5g/zh-cn_image_0000002594669320.jpg?HW-CC-KV=V1&HW-CC-Date=20260612T073625Z&HW-CC-Expire=86400&HW-CC-Sign=98536026E574BF76146604D520CA50AFD76A9286AD76C51E640871094E56DA64 "点击放大")

#### 接口说明

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

*   地图初始化时，可在初始化参数[MapOptions](https://developer.huawei.com/consumer/cn/doc/harmonyos-references/map-common#mapoptions)中设置是否启用手势功能，详细讲解见[显示地图](https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/map-presenting)章节。
    
*   通过调用[MapComponentController](https://developer.huawei.com/consumer/cn/doc/harmonyos-references/map-map-mapcomponentcontroller)提供的set方法实现相关手势的开启或关闭。
    

| 接口名 | 描述 |
| :-- | :-- |
| [setZoomGesturesEnabled](https://developer.huawei.com/consumer/cn/doc/harmonyos-references/map-map-mapcomponentcontroller#setzoomgesturesenabled)(enabled: boolean): void | 
设置是否启用缩放手势。

默认值为true。

 |
| [setScrollGesturesEnabled](https://developer.huawei.com/consumer/cn/doc/harmonyos-references/map-map-mapcomponentcontroller#setscrollgesturesenabled)(enabled: boolean): void | 

设置是否启用滚动手势。

默认值为true。

 |
| [setRotateGesturesEnabled](https://developer.huawei.com/consumer/cn/doc/harmonyos-references/map-map-mapcomponentcontroller#setrotategesturesenabled)(enabled: boolean): void | 

设置是否启用旋转手势。

默认值为true。

 |
| [setTiltGesturesEnabled](https://developer.huawei.com/consumer/cn/doc/harmonyos-references/map-map-mapcomponentcontroller#settiltgesturesenabled)(enabled: boolean): void | 

设置是否启用倾斜手势。

默认值为true。

 |
| [setAllGesturesEnabled](https://developer.huawei.com/consumer/cn/doc/harmonyos-references/map-map-mapcomponentcontroller#setallgesturesenabled)(enabled: boolean): void | 

设置手势是否可用。

默认值为true。

 |

#### 开发步骤

mapController对象在初始化地图时获取，初始化地图功能在[显示地图](https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/map-presenting)章节中有详细讲解。

#### \[h2\]地图手势控制

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

**缩放手势：**

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

this.mapController.setZoomGesturesEnabled(true);

**滚动平移手势：**

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

this.mapController.setScrollGesturesEnabled(true);

**旋转手势：**

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

this.mapController.setRotateGesturesEnabled(true);

**倾斜手势：**

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

this.mapController.setTiltGesturesEnabled(true);

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

通过调用[setAllGesturesEnabled](https://developer.huawei.com/consumer/cn/doc/harmonyos-references/map-map-mapcomponentcontroller#setallgesturesenabled)方法，可启用或禁止所有手势。

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