允许用户与您的地图互动

使用以下模板时,您可以添加相应支持来允许用户与您绘制的地图互动,例如让用户通过缩放和平移查看地图的不同部分。

模板 Car App API 级别支持
NavigationTemplate 2

PlaceListNavigationTemplate

(已弃用)

4

RoutePreviewNavigationTemplate

(已弃用)

4

MapTemplate

(已弃用)

5 (引入模板)
MapWithContentTemplate 7 (引入了模板)

实现互动回调

SurfaceCallback 接口有多种回调方法,您可以实现这些方法,以便为使用上一部分中的模板构建的地图添加互动功能:

互动 方法 Car App API 级别支持
点按 onClick 5
双指张合即可缩放 onScale 2
单点触控拖动 onScroll 2
单点触控快速滑动 onFling 2
点按两次

onScale

(缩放比例由模板主机决定)

2
平移模式下的旋转轻推

onScroll

(距离系数由模板主机决定)

2

添加地图操作栏

这些模板可以为地图相关操作(例如放大和缩小、重新居中、显示罗盘或您选择显示的其他操作)提供地图操作栏。地图操作栏最多可包含四个仅显示图标的按钮,这些按钮可在不影响任务深度的情况下刷新。操作栏在空闲状态下会隐藏,在活跃状态下则重新出现。

如需接收地图互动回调,您必须在地图操作栏中添加一个 Action.PAN 按钮。当用户按平移按钮时,主机会进入平移模式,如了解平移模式中所述。

如果应用的地图操作栏中没有 Action.PAN 按钮,您将无法从 SurfaceCallback 方法接收用户输入,并且主机会关闭先前启用的任何平移模式。

在触摸屏上,系统不会显示平移按钮。

了解平移模式

在平移模式下,模板主机会将来自非触控输入设备(例如旋控器和触控板)的用户输入在转换后传递给相应的 SurfaceCallback 方法。系统会使用 NavigationTemplate.Builder 中的 setPanModeListener 方法响应用户操作来进入或退出平移模式。当用户处于平移模式时,主机可以隐藏模板中的其他界面组件。