开发 HarmonyOS NEXT 地图SDK 开发指南 与地图交互 手势交互

手势交互 最后更新时间: 2025年11月17日

地图 SDK 提供了多种手势供用户与地图之间进行交互,如缩放、旋转、拖拽、倾斜。这些手势默认开启,如果想要关闭某些手势,可以通过 UiSettings 类提供的接口来控制手势的开关。

手势方法说明

以下是控制手势生效与否的方法:

名称

说明

setZoomGesturesEnabled(boolean)

设置缩放手势是否可用

setScrollGesturesEnabled(boolean)

设置拖拽手势是否可用

setRotateGesturesEnabled(boolean)

设置旋转手势是否可用

setTiltGesturesEnabled(boolean)

设置倾斜手势是否可用

setGestureScaleByMapCenter(boolean)

设置是否以地图中心点缩放

setAllGesturesEnabled(boolean)

设置所有手势是否可用

以下是检测手势是否生效的方法:

名称

说明

isZoomGesturesEnabled()

缩放手势是否可用

isScrollGesturesEnabled()

拖拽手势是否可用

isRotateGesturesEnabled()

旋转手势是否可用

isTiltGesturesEnabled()

倾斜手势是否可用

isGestureScaleByMapCenter()

是否地图中心点缩放

缩放手势

缩放手势可改变地图的缩放级别,地图响应的手势如下:

  • 双击地图可以使缩放级别增加1 (放大)
  • 两个手指捏/拉伸

以下是控制缩放手势开启关闭的代码:

aMap.getUiSettings()?.setZoomGesturesEnabled(boolean);

拖拽手势

您可以用手指拖动地图四处滚动(平移)或用手指滑动地图(动画效果),也可以禁用或开启平移(滑动)手势。

以下介绍控制拖拽手势开启关闭的方法,示例代码如下:

aMap.getUiSettings()?.setScrollGesturesEnabled(boolean);

旋转手势

您可以用两个手指在地图上转动,可以旋转地图,也可以禁用旋转手势。

以下介绍控制旋转手势开启关闭的方法,示例代码如下:

aMap.getUiSettings()?.setRotateGesturesEnabled(boolean);

倾斜手势

用户可以在地图上放置两个手指,移动它们一起向下或向上去增加或减小倾斜角,也可以禁用倾斜手势。

以下是控制倾斜手势开启关闭的代码:

aMap.getUiSettings()?.setTiltGesturesEnabled(boolean);

地图中心点缩放

用户可以设置地图缩放位置,可以以中心点缩放或在缩放位置缩放。

以下是控制地图中心点缩放开启关闭的代码:

aMap.getUiSettings()?.setGestureScaleByMapCenter(boolean);

所有手势是否可用

用户可以统一设置地图是否支持手势交互。

以下是控制所有手势是否可用的代码:

aMap.getUiSettings()?.setAllGesturesEnabled(boolean);

指定屏幕中心点的手势操作

在对地图进行手势操作时(滑动手势除外),可以指定屏幕中心点后执行相应手势。

指定屏幕中心点的接口如下,在AMap类中:

/**
 * 设置屏幕上的某个像素点为地图中心点。
 * <p>使用该方法设置后,地图将以所设置的屏幕坐标点为中心进行旋转、倾斜。同时, {@link #moveCamera(CameraUpdate) } 方法也将会以此坐标点为中心进行设置。
 *
 * @param x 屏幕像素点x轴坐标。
 * @param y 屏幕像素点y轴坐标。
 * @since v2.2.0
 */
public setPointToCenter(x: number, y: number): void

开启以中心点进行手势操作的接口如下,在UiSettings类中:

/**
 * 设置是否以地图中心点缩放 <br>
 * 注:优先级低于{@link AMap#setPointToCenter(int, int)}
 *
 * @param isGestureScaleByMapCenter true:以地图中心的进行缩放,false:不以地图中心的进行缩放
 * @since 1.0.0
 */
public setGestureScaleByMapCenter(isGestureScaleByMapCenter: boolean): void
示例中心 常见问题

AltStyle によって変換されたページ (->オリジナル) /