允許使用者與地圖互動

使用下列範本時,您可以新增使用者與繪製地圖互動的支援功能,例如讓使用者縮放及平移地圖,查看地圖的不同部分。

Template 支援的 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 方法,可在使用者進入或結束平移模式時做出反應。使用者處於平移模式時,主機可隱藏範本中的其他 UI 元件。