使用下列範本時,您可以新增使用者與繪製地圖互動的支援功能,例如讓使用者縮放及平移地圖,查看地圖的不同部分。
| Template | 支援的 Car App API 級別 |
|---|---|
NavigationTemplate |
2 |
(已淘汰) |
4 |
(已淘汰) |
4 |
(已淘汰) |
5 (範本簡介) |
MapWithContentTemplate |
7 (範本簡介) |
實作互動式回呼
SurfaceCallback 介面提供多種回呼方法,可供您實作,為使用前一節範本建構的地圖增添互動性:
| 互動 | 方法 | 支援的 Car App API 級別 |
|---|---|---|
| 輕觸 | onClick |
5 |
| 雙指撥動縮放 | onScale |
2 |
| 單點觸控拖曳 | onScroll |
2 |
| 單點觸控滑動 | onFling |
2 |
| 輕觸兩下 |
(範本主機決定縮放比例係數) |
2 |
| 平移模式的旋轉自動提醒 |
(範本主機決定距離係數) |
2 |
新增地圖動作區域
這些範本可包含地圖動作列,用來顯示地圖相關動作,例如縮放、重新置中、顯示指南針,以及其他選擇顯示的動作。地圖動作列最多可有四個純圖示按鈕,這些按鈕可重新整理,並且不影響工作深度。閒置狀態時,動作列會隱藏,待回到啟用狀態才會再顯示。
如要接收地圖互動回呼,您必須在地圖動作列中新增 Action.PAN 按鈕。使用者按下「平移」按鈕時,主機會進入平移模式,如「瞭解平移模式」一文所述。
如果應用程式忽略地圖動作列中的 Action.PAN 按鈕,就無法從 SurfaceCallback 方法收到使用者輸入內容,而且主機會關閉先前啟用的平移模式。
如果是觸控螢幕,畫面上不會顯示「平移」按鈕。
瞭解平移模式
在平移模式下,使用者透過非觸控輸入裝置 (例如旋轉控制器和觸控板) 輸入的內容,會由範本主機轉譯成適當的 SurfaceCallback 方法。使用 NavigationTemplate.Builder 中的 setPanModeListener 方法,可在使用者進入或結束平移模式時做出反應。使用者處於平移模式時,主機可隱藏範本中的其他 UI 元件。