您可以使用 Maps SDK for Android,指定要在地圖上顯示的內建 UI 元件及允許的手勢,自訂使用者與地圖的互動方式。
程式碼範例
GitHub 上的 ApiDemos 存放區有各種控制項和手勢選項的使用說明範例:
- UiSettingsDemoActivity:Kotlin 範例
- UiSettingsDemoActivity:Java 範例
具備基本互動功能的精簡模式
如果您只需要具備基本互動功能的簡易形式地圖,建議使用精簡模式地圖。精簡模式會以指定的位置和縮放等級提供地圖的點陣圖圖片,使用者無法平移或縮放地圖,也無法使用手勢。詳情請參閱精簡模式指南。
UI 控制項
Maps API 提供內建的 UI 控制項,與 Android 手機中 Google 地圖應用程式的控制項類似。您可以透過 GoogleMap.getUiSettings
方法從 GoogleMap
取得 UiSettings
類別,並使用這個類別切換這些控制項的顯示設定。以這個類別進行的變更會立即反映在地圖上。如要查看這些功能的範例,請參閱範例應用程式中的 UI 設定示範活動。
當您透過 XML 屬性或使用 GoogleMapOptions
類別建立地圖時,也可以設定其中的大部分選項。詳情請參閱「設定初始狀態」。
每個 UI 控制項都有一個相對於地圖邊緣的預先定義位置。
只要將邊框間距加入 GoogleMap
物件,即可讓控制項與頂端、底部、左側或右側邊緣拉開距離。
縮放控制項
Maps API 提供的內建縮放控制項顯示在地圖右下角;這些控制項預設為停用,呼叫 UiSettings.setZoomControlsEnabled(true)
即可啟用。
![縮放控制項在右下角。 縮放控制項](https://developers-dot-devsite-v2-prod.appspot.com/static/maps/documentation/android-sdk/images/zoomcontrols.png?authuser=0000&hl=zh-tw)
指南針
在某些情況下,Maps API 會提供指南針圖形 (顯示在地圖左上角)。只有在攝影機朝向非零航向或非零傾斜時,指南針才會顯示。使用者按一下指南針後,攝影機會移動回航向和傾斜角度皆為零的位置 (預設方向),指南針隨後也會消失。您可以呼叫 UiSettings.setCompassEnabled(boolean)
完全停用指南針,
但無法強制指南針保持顯示。
![指南針位於左上角。 指南針](https://developers-dot-devsite-v2-prod.appspot.com/static/maps/documentation/android-sdk/images/compass.png?authuser=0000&hl=zh-tw)
「我的位置」按鈕
只有在啟用「我的位置」圖層時,畫面右上角才會顯示「我的位置」按鈕。詳情請參閱位置資料指南。
![位於右上方的「我的位置」按鈕。 「我的位置」按鈕](https://developers-dot-devsite-v2-prod.appspot.com/static/maps/documentation/android-sdk/images/mylocationbutton.png?authuser=0000&hl=zh-tw)
樓層挑選器
根據預設,使用者瀏覽室內地圖時,螢幕中央右側邊緣附近會顯示樓層挑選器。如有兩張以上的室內地圖可顯示,系統會將樓層挑選器套用至目前焦點所在的建築物 (通常是距離螢幕中央最近的建築物)。每個建築物都有預設樓層,系統會在首次顯示挑選器時選取這個樓層,使用者也可以從挑選器中選取其他樓層。
您可以呼叫 GoogleMap.getUiSettings().setIndoorLevelPickerEnabled(boolean)
來停用或啟用樓層挑選器控制項。
如果您想用自己的樓層挑選器取代預設版本,這個方法就十分實用。
![樓層挑選器在靠近中心右側處。 樓層挑選器](https://developers-dot-devsite-v2-prod.appspot.com/static/maps/documentation/android-sdk/images/levelpicker.png?authuser=0000&hl=zh-tw)
地圖工具列
根據預設,使用者輕觸標記時,地圖的右下角會顯示工具列。工具列可讓使用者快速存取 Google 地圖行動應用程式。
您可以呼叫 UiSettings.setMapToolbarEnabled(boolean)
來啟用及停用工具列。
在精簡模式地圖中,不管使用者做了什麼動作,工具列都會持續顯示。在完整互動式的地圖中,使用者輕觸標記時,工具列會滑入畫面;標記不在焦點內時,工具列就會再次滑出。
工具列會顯示圖示,供使用者在 Google 地圖行動應用程式中檢視地圖或要求規劃路線。使用者輕觸工具列上的圖示時,API 便會建立意圖,在 Google 地圖行動應用程式中啟動對應活動。
![工具列位於右下角。 地圖工具列](https://developers-dot-devsite-v2-prod.appspot.com/static/maps/documentation/android-sdk/images/intents.png?authuser=0000&hl=zh-tw)
工具列顯示於地圖右下角 (請見上方螢幕截圖)。 視地圖內容而定,只要 Google 地圖行動應用程式支援產生的意圖,地圖上就會顯示「零」或「一」的意圖圖示,或兩個同時顯示。
地圖手勢
使用 Maps SDK for Android 建立的地圖,都會支援 Google 地圖應用程式支援的手勢。但有些情況下,為維持地圖狀態,您可能會想停用某些手勢。您也可以透過程式輔助設定縮放、平移、傾斜和航向;詳情請參閱「攝影機和檢視畫面」。請注意,停用手勢並不影響能否透過程式輔助方式改變攝影機位置。
和 UI 控制項一樣,您可以呼叫 GoogleMap.getUiSettings
從 GoogleMap
取得 UiSettings
類別,再使用此類別啟用/停用手勢。以這個類別進行的變更會立即反映在地圖上。如要查看這些功能的範例,請參閱範例應用程式中的 UI 設定示範活動 (安裝方式請參閱這裡)。
當您透過 XML 屬性或使用 GoogleMapOptions
類別建立地圖時,也可以設定這些選項。
詳情請參閱「設定地圖」。
縮放手勢
地圖會回應可改變攝影機縮放等級的各種手勢:
- 輕觸兩下可使縮放等級增加 1 級 (放大)。
- 雙指輕觸可使縮放等級減少 1 級 (縮小)。
- 雙指撥動/延伸
- 單指輕觸兩下,第二下按住不放,接著向上滑動即可縮小,向下滑動則可放大。
您可以呼叫 UiSettings.setZoomGesturesEnabled(boolean)
停用縮放手勢,這並不影響使用者能否運用縮放控制項來放大和縮小。
捲動 (平移) 手勢
使用者用手指拖曳地圖,即可捲動 (平移) 地圖。
您可以呼叫 UiSettings.setScrollGesturesEnabled(boolean)
停用捲動功能。
傾斜手勢
使用者將兩根手指放在地圖上,同時下移可增加地圖的傾斜角度;上移則會縮小傾斜角度。您可以呼叫 UiSettings.setTiltGesturesEnabled(boolean)
停用傾斜手勢。
旋轉手勢
使用者將兩根手指放在地圖上做出旋轉動作,即可旋轉地圖。您可以呼叫 UiSettings.setRotateGesturesEnabled(boolean)
停用旋轉功能。