Google 地圖平台 15 週年紀念查看最新消息和公告

控制項和手勢

使用 Maps SDK for Android,您就可以決定要在地圖上顯示哪些內建 UI 元件,以及允許哪些手勢,藉此自訂使用者與地圖的互動方式。

程式碼範例

GitHub 上的 ApiDemos 存放區包含說明各個控制項和手勢選項用途的範例:

減少使用者互動的精簡模式

如果您希望地圖簡單易用且盡可能減少使用者互動,建議使用精簡模式地圖。精簡模式會以指定的位置和縮放等級提供地圖的點陣圖圖片。在精簡模式中,使用者無法平移或縮放地圖,也無法使用手勢。詳情請參閱精簡模式指南。

UI 控制項

Maps API 提供內建的 UI 控制項,與 Android 手機中 Google 地圖應用程式的控制項類似。您可以透過 GoogleMap.getUiSettings 方法從 GoogleMap 取得 UiSettings 類別,並使用這個類別切換這些控制項的顯示設定。以這個類別進行的變更會立即反映在地圖上。如要查看這些功能的範例,請參閱範例應用程式中的 UI 設定示範活動。

當您透過 XML 屬性或使用 GoogleMapOptions 類別建立地圖時,也可以設定其中的大部分選項。詳情請參閱設定初始狀態

每個 UI 控制項都有一個相對於地圖邊緣的預先定義位置。 只要將邊框間距加入 GoogleMap 物件,即可讓控制項與頂端、底部、左側或右側邊緣拉開距離。

縮放控制項

Maps API 提供的內建縮放控制項顯示在地圖右下角;這些控制項預設為停用,呼叫 UiSettings.setZoomControlsEnabled(true) 即可啟用。

縮放控制項

指南針

在某些情況下,Maps API 會提供指南針圖形 (顯示在地圖左上角)。只有在攝影機朝向非零航向或非零傾斜時,指南針才會顯示。使用者按一下指南針後,攝影機就會移動回航向和傾斜皆為零的位置 (預設方向),且指南針之後很快就會消失。您可以呼叫 UiSettings.setCompassEnabled(boolean) 來停用隨動作一併顯示的指南針, 但無法強制指南針永遠顯示。

指南針

我的位置按鈕

「我的位置」按鈕只有在「我的位置」圖層已啟用時,才會顯示在畫面右上角。詳情請參閱位置資料指南。

我的位置按鈕

層面挑選器

根據預設,使用者正在瀏覽室內地圖時,螢幕中央右側邊緣附近會顯示層面挑選器 (樓層挑選器)。系統顯示兩張以上的室內地圖時,層面挑選器會套用至目前位於焦點內的建築物,通常是距離螢幕中央最近的建築物。 每個建築物都有預設層面,系統會在首次顯示挑選器時選取這個層面,使用者也可以從挑選器中選取其他層面。

您可以呼叫 GoogleMap.getUiSettings().setIndoorLevelPickerEnabled(boolean) 來停用或啟用層面挑選器控制項。

如果您想用自己的層面挑選器取代預設的版本,這個方法就十分實用。

層面挑選器

地圖工具列

根據預設,使用者輕觸標記時,地圖的右下角會顯示工具列。工具列可讓使用者快速存取 Google 地圖行動應用程式。

您可以呼叫 UiSettings.setMapToolbarEnabled(boolean) 來啟用及停用工具列。

精簡模式地圖中,不管使用者做了什麼動作,工具列都會持續顯示。在完整互動式的地圖中,使用者輕觸標記時,工具列會滑入畫面;標記不在焦點內時,工具列就會再次滑出。

工具列會顯示圖示,方便您在 Google 地圖行動應用程式中查看地圖檢視或要求規劃路線。使用者輕觸工具列上的圖示時,API 便會建立可在 Google 地圖行動應用程式中啟動對應活動的意圖

地圖工具列

工具列顯示於地圖右下角 (請見上方螢幕截圖)。 視地圖內容而定,只要 Google 地圖行動應用程式支援產生的意圖,地圖上就會顯示「零」或「一」的意圖圖示,或兩個同時顯示。

地圖手勢

凡是使用 Maps SDK for Android 建立的地圖,支援的手勢都與 Google 地圖應用程式支援的相同。不過在某情況下,為了維持地圖當下的狀態,您可能會想要停用某些手勢。您也可以透過程式輔助設定縮放、平移、傾斜和航向;詳情請參閱攝影機和檢視畫面。請注意,停用手勢並不影響是否能透過程式輔助方式改變攝影機位置。

和 UI 控制項一樣,您可以呼叫 GoogleMap.getUiSettingsGoogleMap 取得 UiSettings 類別,再使用此類別啟用/停用手勢。以這個類別進行的變更會立即反映在地圖上。如要查看這些功能的範例,請參閱範例應用程式中的 UI 設定示範活動 (安裝方式請參閱這裡)。

當您透過 XML 屬性或使用 GoogleMapOptions 類別建立地圖時,也可以設定這些選項。 詳情請參閱設定地圖

縮放手勢

地圖會回應可改變攝影機縮放等級的各種手勢:

  • 輕觸兩下可使縮放等級增加 1 級 (放大)。
  • 雙指輕觸可使縮放等級減少 1 級 (縮小)。
  • 雙指撥動/延伸
  • 單指輕觸兩下,第二下不放開,同時向上滑動手指可縮小,向下滑動則可放大。

您可以呼叫 UiSettings.setZoomGesturesEnabled(boolean) 來停用縮放手勢,這並不影響使用者是否能使用縮放控制項來放大和縮小。

捲動 (平移) 手勢

使用者用手指拖曳地圖,即可捲動 (平移) 地圖。 您可以呼叫 UiSettings.setScrollGesturesEnabled(boolean) 來停用捲動功能。

傾斜手勢

使用者將兩根手指放在地圖上,同時向上移動可增加地圖的傾斜角度;向下移動則會縮小傾斜角度。您可以呼叫 UiSettings.setTiltGesturesEnabled(boolean) 來停用傾斜手勢。

旋轉手勢

使用者將兩根手指放在地圖上做出旋轉動作,即可旋轉地圖。您可以呼叫 UiSettings.setRotateGesturesEnabled(boolean) 來停用旋轉功能。