GoogleMap

公開最終類別 GoogleMap 擴充物件

這是 Google Maps SDK for Android 的主要類別,也是所有地圖相關方法的進入點。您無法直接對 GoogleMap 物件執行個體化,而是必須在已加入應用程式的 MapFragmentMapView 上,透過 getMapAsync() 方法取得一個物件。

注意:與 View 物件類似,GoogleMap 只能透過 Android UI 執行緒讀取及修改。從其他執行緒呼叫 GoogleMap 方法會導致例外狀況。

您可以改變攝影機的位置 (而不是移動地圖),藉此調整地圖的視角。您可以使用地圖的相機設定位置、縮放等級、傾斜角度和方位等參數。詳情請參閱「相機和檢視畫面」。

開發人員指南

如要開始使用,請參閱「Google Maps SDK for Android 」開發人員指南。

巢狀類別摘要

GoogleMap.CancelableCallback 工作完成或取消時回報的回呼介面。
GoogleMap.InfoWindowAdapter 提供用於自訂資訊視窗的檢視畫面。
GoogleMap.OnCameraChangeListener 此介面已淘汰。已由 GoogleMap.OnCameraMoveStartedListenerGoogleMap.OnCameraMoveListenerGoogleMap.OnCameraIdleListener 取代。相對於新相機變更事件監聽器的方法,系統會呼叫已淘汰的 onCameraChange 方法的順序。 
GoogleMap.OnCameraIdleListener 攝影機動作結束時的回呼介面。
GoogleMap.OnCameraMoveCanceledListener 針對攝影機動作停止或相機因新原因開始移動時的回呼介面。
GoogleMap.OnCameraMoveListener 相機變更位置時的回呼介面。
GoogleMap.OnCameraMoveStartedListener 相機動作開始時的回呼介面。
GoogleMap.OnCircleClickListener 點選圓形時的回呼介面。
GoogleMap.OnGroundOverlayClickListener 點選區域疊加層時的回呼介面。
GoogleMap.OnIndoorStateChangeListener 室內狀態變更時的事件監聽器。
GoogleMap.OnInfoWindowClickListener 標記資訊視窗上點擊/輕觸事件的回呼介面。
GoogleMap.OnInfoWindowCloseListener 標記資訊視窗上關閉事件的回呼介面。
GoogleMap.OnInfoWindowLongClickListener 使用者長按標記資訊視窗時的回呼介面。
GoogleMap.OnMapClickListener 使用者輕觸地圖時的回呼介面。
GoogleMap.OnMapLoadedCallback 地圖完成算繪時的回呼介面。
GoogleMap.OnMapLongClickListener 使用者長按地圖時的回呼介面。
GoogleMap.OnMarkerClickListener 定義點選或輕觸標記時呼叫的方法簽章。
GoogleMap.OnMarkerDragListener 標記上拖曳事件的回呼介面。
GoogleMap.OnMyLocationButtonClickListener 按一下「我的位置」按鈕時的回呼介面。
GoogleMap.OnMyLocationChangeListener 此介面已淘汰。請改用 com.google.android.gms.location.FusedLocationProviderApi。 FusedLocationProviderApi 提供更好的位置尋找機制和耗電量,並搭配「我的位置」藍點使用。請參閱 「選取目前地點」教學課程,瞭解如何使用 FusedLocationProviderApi 或位置開發人員指南 
GoogleMap.OnMyLocationClickListener 點按「我的位置」點 (代表使用者所在地) 時的回呼介面。
GoogleMap.OnPoiClickListener 輕觸搜尋點的事件監聽器。
GoogleMap.OnPolygonClickListener 按一下多邊形時的回呼介面。
GoogleMap.OnPolylineClickListener 按一下折線時的回呼介面。
GoogleMap.SnapshotReadyCallback 用於在快照建立完成後通知的回呼介面。

常數摘要

int MAP_TYPE_HYBRID 包含主要街道透明圖層的衛星地圖。
int MAP_TYPE_NONE 沒有基本地圖圖塊。
int MAP_TYPE_NORMAL 基本地圖。
int MAP_TYPE_SATELLITE 沒有標籤的衛星地圖。
int MAP_TYPE_TERRAIN 地形地圖。

公用方法摘要

圓形
addCircle(CircleOptions 選項)
在此地圖中加入圓形。
GroundOverlay
addGroundOverlay(GroundOverlayOptions 選項)
在此地圖中加入圖片。
標記
addMarker(MarkerOptions 選項)
在這張地圖中加入標記。
多邊形
addPolygon(PolygonOptions 選項)
在此地圖中加入多邊形。
折線
addPolyline(PolylineOptions 選項)
將折線加入此地圖。
TileOverlay
addTileOverlay(TileOverlayOptions 選項)
在此地圖中新增圖塊疊加層。
void
animateCamera(CameraUpdate 更新)
為攝影機從目前位置到更新中定義的位置建立動畫效果。
void
animateCamera(CameraUpdate 更新、GoogleMap.CancelableCallback 回呼)
以動畫方式呈現相機從目前位置到更新中定義的位置,並在完成時呼叫選用的回呼。
void
animateCamera(CameraUpdate 更新、 intDurationMs、GoogleMap.CancelableCallback 回呼)
根據含有動畫的更新在指定時間內移動地圖,並在完成時呼叫選用的回呼。
void
clear()
從地圖移除所有標記、折線、多邊形、疊加層等。
CameraPosition
getCameraPosition()
取得相機的目前位置。
IndoorBuilding
getFocusedBuilding()
取得目前聚焦的建築物。
int
getMapType()
取得目前顯示的地圖類型。
浮點值
getMaxZoomLevel()
傳回目前相機位置的最大縮放等級。
浮點值
getMinZoomLevel()
傳回最小縮放等級。
位置
getMyLocation()
此方法已淘汰。請改用 com.google.android.gms.location.FusedLocationProviderApi。 FusedLocationProviderApi 提供更好的位置尋找機制和耗電量,並搭配「我的位置」藍點使用。如需範例程式碼,請參閱範例應用程式資料夾中 MyLocationDemoActivity,或參閱「位置開發人員指南」。
投影
getProjection()
傳回 Projection 物件,可用於在螢幕座標和經緯度座標之間進行轉換。
UiSettings
getUiSettings()
取得地圖的使用者介面設定。
布林值
isBuildingsEnabled()
傳回是否要啟用 3D 建築物圖層。
布林值
isIndoorEnabled()
指出目前是否啟用室內地圖。
布林值
isMyLocationEnabled()
取得我的位置圖層的狀態。
布林值
isTrafficEnabled()
檢查地圖是否正在繪製交通資料。
void
moveCamera(CameraUpdate 更新)
根據更新中所定義的指示調整相機位置。
void
resetMinMaxZoomPreference()
移除所有之前指定的上限和下限。
void
setBuildingsEnabled(已啟用布林值)
開啟或關閉 3D 建築物圖層。
void
setContentDescription(字串說明)
設定地圖的 contentDescription。
布林值
setIndoorEnabled(已啟用布林值)
設定是否應啟用室內地圖。
void
setInfoWindowAdapter(GoogleMap.InfoWindowAdapter 轉接程式)
設定資訊視窗內容的自訂轉譯器。
void
setLatLngBoundsForCameraTarget(LatLngBounds 範圍)
指定用來限制攝影機目標的 LatLngBounds,藉此讓使用者捲動及平移地圖時,攝影機目標不會在這些邊界外移動。
void
setLocationSource(LocationSource 來源)
取代我的位置圖層的位置來源。
布林值
setMapStyle(MapStyleOptions 樣式)
設定基本地圖的樣式。
void
setMapType(int type)
設定應顯示的地圖圖塊類型。
void
setMaxZoomPreference(float maxZoomPreference)
設定相機縮放的建議上限。
void
setMinZoomPreference(float minZoomPreference)
設定相機縮放的建議下限。
void
setMyLocationEnabled(已啟用布林值)
啟用或停用我的位置圖層。
void
void
setOnCameraIdleListener(GoogleMap.OnCameraIdleListener 事件監聽器)
設定相機動作結束時叫用的回呼。
void
setOnCameraMoveCanceledListener(GoogleMap.OnCameraMoveCanceledListener事件監聽器)
設定新的回呼類型停止或中斷相機動作時叫用的回呼。
void
setOnCameraMoveListener(GoogleMap.OnCameraMoveListener事件監聽器)
設定相機在移動時重複叫用的回呼。
void
setOnCameraMoveStartedListener(GoogleMap.OnCameraMoveStartedListener事件監聽器)
設定當相機開始移動或相機動作原因發生變更時叫用的回呼。
void
setOnCircleClickListener(GoogleMap.OnCircleClickListener 事件監聽器)
設定點選圓形時叫用的回呼。
void
setOnGroundOverlayClickListener(GoogleMap.OnGroundOverlayClickListener事件監聽器)
設定按一下區域疊加層時叫用的回呼。
void
setOnIndoorStateChangeListener(GoogleMap.OnIndoorStateChangeListener 接聽器)
設定或清除室內事件的監聽器。
void
setOnInfoWindowClickListener(GoogleMap.OnInfoWindowClickListener事件監聽器)
設定按一下標記資訊視窗時要叫用的回呼。
void
setOnInfoWindowCloseListener(GoogleMap.OnInfoWindowCloseListener事件監聽器)
設定當標記資訊視窗關閉時,要叫用的回呼。
void
setOnInfoWindowLongClickListener(GoogleMap.OnInfoWindowLongClickListener 事件監聽器)
設定長按標記資訊視窗時要叫用的回呼。
void
setOnMapClickListener(GoogleMap.OnMapClickListener事件監聽器)
設定使用者輕觸地圖時叫用的回呼。
void
setOnMapLoadedCallback(GoogleMap.OnMapLoadedCallback 回呼)
設定此地圖完成算繪時,所呼叫的回呼。
void
setOnMapLongClickListener(GoogleMap.OnMapLongClickListener 事件監聽器)
設定長按地圖時叫用的回呼。
void
setOnMarkerClickListener(GoogleMap.OnMarkerClickListener事件監聽器)
設定按一下標記時叫用的回呼。
void
setOnMarkerDragListener(GoogleMap.OnMarkerDragListener事件監聽器)
設定拖曳標記時叫用的回呼。
void
setOnMyLocationButtonClickListener(GoogleMap.OnMyLocationButtonClickListener 事件監聽器)
設定使用者按下我的位置按鈕時叫用的回呼。
void
setOnMyLocationChangeListener(GoogleMap.OnMyLocationChangeListener 事件監聽器)
此方法已淘汰。請改用 com.google.android.gms.location.FusedLocationProviderApi。 FusedLocationProviderApi 提供更好的位置尋找機制和耗電量,並搭配「我的位置」藍點使用。如需範例程式碼,請參閱範例應用程式資料夾中 MyLocationDemoActivity,或參閱「位置開發人員指南」。
void
setOnMyLocationClickListener(GoogleMap.OnMyLocationClickListener 事件監聽器)
設定按一下「我的位置」點 (代表使用者位置) 時叫用的回呼。
void
setOnPoiClickListener(GoogleMap.OnPoiClickListener 事件監聽器)
設定事件監聽器,在點擊或輕觸搜尋點時觸發。
void
setOnPolygonClickListener(GoogleMap.OnPolygonClickListener 事件監聽器)
設定按一下多邊形時叫用的回呼。
void
setOnPolylineClickListener(GoogleMap.OnPolylineClickListener 事件監聽器)
設定點選折線時叫用的回呼。
void
setPadding(int left、intt top、Intright、Intbottom)
設定地圖上的邊框間距。
void
setTrafficEnabled(已啟用布林值)
開啟或關閉車流量圖層。
void
snapshot(GoogleMap.SnapshotReadyCallback 回呼)
拍攝地圖快照。
void
snapshot(GoogleMap.SnapshotReadyCallback 回呼、點陣圖點陣圖)
拍攝地圖快照。
void
stopAnimation()
停止有進行中的相機動畫。

繼承方法摘要

常數

公開靜態最終 int MAP_TYPE_HYBRID

包含主要街道透明圖層的衛星地圖。

常數值: 4

公開靜態最終 int MAP_TYPE_NONE

沒有基本地圖圖塊。

常數值: 0

公開靜態最終 int MAP_TYPE_NORMAL

基本地圖。

常數值: 1

公開靜態最終 int MAP_TYPE_SATELLITE

沒有標籤的衛星地圖。

常數值: 2

公開靜態最終 int MAP_TYPE_TERRAIN

地形地圖。

常數值: 3

公用方法

公開 Circle addCircle (CircleOptions 選項)

在此地圖中加入圓形。

參數
選項 圓形選項物件,可定義如何算繪圓形
傳回
  • 已加進地圖的 Circle 物件

public GroundOverlay addGroundOverlay (GroundOverlayOptions 選項)

在此地圖中加入圖片。

參數
選項 區域疊加層選項物件,定義如何算繪疊加層。選項必須指定圖片 (AnchoredBitmap) 和位置。
傳回
擲回
IllegalArgumentException

公開 Marker addMarker (MarkerOptions選項)

在這張地圖中加入標記。

標記的圖示會顯示在地圖上的位置 Marker.position 位置。按一下標記,即可將攝影機置於標記中心。如果已定義 Marker.title,地圖會顯示含有標記標題和摘要的資訊方塊。如果是可拖曳的標記,請長按標記再拖曳標記。

參數
選項 可定義標記呈現方式的標記選項物件。
傳回
  • 已新增至地圖的 Marker

公開 Polygon addPolygon (PolygonOptions 選項)

在此地圖中加入多邊形。

參數
選項 可定義如何算繪多邊形的多邊形選項物件。
傳回
  • 加入地圖的 Polygon 物件。

公用 Polyline addPolyline (PolylineOptions 選項)

將折線加入此地圖。

參數
選項 定義折線算繪方式的折線選項物件。
傳回
  • 已新增至地圖的 Polyline 物件。

public TileOverlay addTileOverlay (TileOverlayOptions 選項)

在此地圖中新增圖塊疊加層。詳情請參閱 TileOverlay

請注意,不同於其他疊加層,如果重新建立地圖,圖塊疊加層不會自動還原,必須手動重新加入。

參數
選項 圖塊疊加層選項物件,定義如何算繪疊加層。選項必須指定 TileProvider,否則系統會擲回 IllegalArgumentException
傳回
擲回
IllegalArgumentException 如未在選項中指定 TileProvider

public void animateCamera (CameraUpdate 更新)

為攝影機從目前位置到更新中定義的位置建立動畫效果。在動畫播放期間,對 getCameraPosition() 的呼叫會傳回攝影機的中繼位置。

如需一系列更新內容,請參閱 CameraUpdateFactory

參數
update 要套用至相機的變更。

public void animateCamera (CameraUpdate 更新、GoogleMap.CancelableCallback 回呼)

以動畫方式呈現相機從目前位置到更新中定義的位置,並在完成時呼叫選用的回呼。如需一系列更新,請參閱 CameraUpdateFactory

在動畫播放期間,對 getCameraPosition() 的呼叫會傳回攝影機的中繼位置。

參數
update 要套用至相機的變更。
回呼 當動畫停止時,從 Android UI 執行緒叫用的回呼。如果動畫正常結束,系統會呼叫 onFinish();否則會呼叫 onCancel()。請勿從 onCancel() 中更新或加入動畫效果。

public void animateCamera (CameraUpdate 更新、 int 持續時間 Ms、GoogleMap.CancelableCallback 回呼)

根據含有動畫的更新在指定時間內移動地圖,並在完成時呼叫選用的回呼。如需一系列更新,請參閱 CameraUpdateFactory

如果在動畫期間呼叫 getCameraPosition(),則會傳回攝影機目前在飛行中的位置。

參數
update
durationMs 動畫的時間長度 (以毫秒為單位)。這個值必須為正數,否則系統會擲回 IllegalArgumentException
回呼 在動畫停止時,接收 Android UI 執行緒通知的選用回呼。如果動畫因自然播放結束而停止,系統會透過 onFinish() 通知回呼。如果之後的攝影機動作或使用者手勢造成動畫停止,系統會呼叫 onCancel()。回呼不應嘗試以取消方法移動或為相機建立動畫。如果不需要回呼,請保留為 null

public void clear ()

從地圖移除所有標記、折線、多邊形、疊加層等。

公開 CameraPosition getCameraPosition ()

取得攝影機目前的位置。

傳回的 CameraPosition 是目前位置的快照,不會在攝影機移動時自動更新。

如要進一步瞭解如何變更攝影機位置,請參閱「攝影機和檢視畫面」。

傳回
  • 相機的目前位置。

公開 IndoorBuilding getFocusedBuilding ()

取得目前聚焦的建築物。

傳回
  • 目前聚焦的建築物,如果沒有焦點所在建築物,則為 null

public int getMapType ()

取得目前顯示的地圖類型。如要查看可能的值,請參閱 MAP_TYPE_NORMALMAP_TYPE_SATELLITEMAP_TYPE_TERRAIN

傳回
  • 地圖類型。

public float getMaxZoomLevel ()

傳回目前相機位置的最大縮放等級。系統會考量目前使用的地圖類型,例如衛星或地形提供的最高縮放等級可能低於基本地圖圖塊。

如要進一步瞭解如何變更相機的縮放等級,請參閱「相機和檢視畫面」。

傳回
  • 目前相機位置可用的最高縮放等級。

public float getMinZoomLevel ()

傳回最小縮放等級。每個位置都是相同的 (最高縮放等級),但不同裝置和地圖大小都可能不同。

如要進一步瞭解如何變更相機的縮放等級,請參閱「相機和檢視畫面」。

傳回
  • 可用的最小縮放等級。

public Location getMyLocation ()

這個方法已淘汰。
請改用 com.google.android.gms.location.FusedLocationProviderApi。 FusedLocationProviderApi 提供更好的位置尋找機制和耗電量,並搭配「我的位置」藍點使用。如需範例程式碼,請參閱範例應用程式資料夾中 MyLocationDemoActivity,或參閱「位置開發人員指南」。

傳回目前顯示的使用者位置;如果沒有位置資料,則傳回 null

傳回
擲回
IllegalStateException 則會傳回「my-location」圖層。

公開 投影 getProjection ()

傳回 Projection 物件,可用於在螢幕座標和經緯度座標之間進行轉換。

傳回的 Projection 是目前投影的快照,不會在攝影機移動時自動更新。由於這項作業的費用較高,因此每個畫面只應取得一次投影。Google 地圖採用麥卡托投影,先根據地理資料建立地圖,再將地圖上的點轉換為地理座標。

傳回

public UiSettings getUiSettings ()

取得地圖的使用者介面設定。

傳回

公開布林值 isBuildingsEnabled ()

傳回是否要啟用 3D 建築物圖層。

傳回
  • 如果已啟用建築物,則為 true;否則為 false

public 布林值 isIndoorEnabled ()

指出目前是否啟用室內地圖。

傳回
  • 如果已啟用室內地圖,則為 true;如果停用室內地圖,則為 false

public 布林值 isMyLocationEnabled ()

取得我的位置圖層的狀態。

傳回
  • 如果「my-location」圖層已啟用,則為 true,否則傳回 false

public 布林值 isTrafficEnabled ()

檢查地圖是否正在繪製交通資料。這取決於可用性資料。

傳回
  • 如果已啟用車流量資料,則為 true;否則為 false

public void moveCamera (CameraUpdate 更新)

根據更新中所定義的指示調整相機位置。系統會立即移動,而後續的 getCameraPosition() 將反映新位置。如需一系列最新資訊,請參閱 CameraUpdateFactory

參數
update 要套用至相機的變更。

public void resetMinMaxZoomPreference ()

移除所有之前指定的上限和下限。

public void setBuildingsEnabled (boolean enabled)

開啟或關閉 3D 建築物圖層。

參數
已啟用 true 可啟用 3D 建築物圖層,false 可停用 3D 建築物。

public void setContentDescription (字串說明)

設定地圖的 contentDescription。

用於在無障礙模式中提供地圖的語音說明。預設值是「Google 地圖」

參數
description 做為說明的字串。

公開布林值 setIndoorEnabled (boolean enabled)

設定是否應啟用室內地圖。室內地圖目前一次只能在一張地圖上顯示。根據預設,這是第一張加到您應用程式中的地圖。如要在其他地圖上啟用室內地圖,您必須先停用原始地圖上的室內地圖。如果您在其他地圖啟用室內地圖時嘗試啟用該功能,就不會有任何反應,因而會傳回 false。如果地圖未啟用室內功能,所有與室內相關的方法都會傳回 nullfalse

參數
已啟用 true嘗試啟用室內地圖;false 可停用室內地圖。
傳回
  • 能否啟用室內地圖。

public void setInfoWindowAdapter (GoogleMap.InfoWindowAdapter 轉接程式)

為資訊視窗的內容設定自訂轉譯器。

如同地圖的事件監聽器,此狀態不會與地圖序列化。如果重新建立地圖 (例如因為設定變更),請務必再次呼叫這個方法,才能保留自訂設定。

參數
轉接器 用於資訊視窗內容的轉接程式,或 null 以便在資訊視窗中使用預設內容算繪。

public void setLatLngBoundsForCameraTarget (LatLngBounds 範圍)

指定用來限制攝影機目標的 LatLngBounds,如此一來,當使用者捲動及平移地圖時,攝影機目標就不會從這些邊界外移動。

如要完全清除定界框,請將值設為 null。新的邊界會取代所有先前指定的定界框。

當 LatLngBounds 變更時,SDK 會盡可能根據這些邊界調整所有後續相機更新。請注意,基於某些技術性考量,SDK 可能無法將攝影機目標嚴格控制在邊界內。例如浮點精確度捨入錯誤,或縮放等級非常低。

參數
邊界 限制相機目標的邊界。

public void setLocationSource (LocationSource 來源)

取代我的位置圖層的位置來源。

參數
來源 要在「我的位置」圖層中使用的位置來源。如要使用預設位置來源,請將值設為 null

public 布林值 setMapStyle (MapStyleOptions 樣式)

設定基本地圖的樣式。

您可以使用樣式選項,將自訂樣式套用至地圖上的地圖項目和元素。如要進一步瞭解樣式定義,請參閱 MapStyleOptions

如果設為 null,則會清除先前的所有自訂樣式。

參數
樣式
傳回
  • 如果成功剖析樣式,則為 true;如果透過 MapStyleOptions 偵測到問題 (包括 JSON 樣式無法剖析、地圖項目類型無法辨識、元素類型無法辨識,或是樣式工具鍵無效),則為 false。如果傳回值為 false,則目前的樣式會維持不變。

public void setMapType (int type)

設定應顯示的地圖圖塊類型。可使用的值如下:

參數
類型 要顯示的地圖類型。

public void setMaxZoomPreference (float maxZoomPreference)

設定相機縮放的建議上限。

當最大縮放等級變更時,SDK 會盡可能按照該上限調整所有後續相機更新。請注意,基於某些技術性考量,SDK 可能無法讓使用者深入放大地圖。舉例來說,衛星地圖或地形圖的最高縮放等級可能低於基本地圖圖塊。

SDK 會解決最小值和最大值的任何衝突。如果您將最小縮放等級設為高於目前上限的縮放等級,SDK 就會使用新的最小和最大縮放等級。如果您將最大縮放等級設為低於最低縮放等級,SDK 就會針對最小和最大值使用新的最大值。例如:假設目前的最小縮放等級是 8,最大值為 14。然後將最大縮放等級設為 6。SDK 至少需要 6 倍和最大縮放等級 6。

參數
maxZoomPreference 偏好的上限。

public void setMinZoomPreference (float minZoomPreference)

設定相機縮放所需的下限。

當最小縮放等級變更時,SDK 會盡可能調整所有之後的相機更新,以採用該最小縮放等級。請注意,基於某些技術性考量,SDK 可能無法讓使用者縮放畫面過低。

SDK 會解決最小值和最大值的任何衝突。如果您將最小縮放等級設為高於目前上限的縮放等級,SDK 就會使用新的最小和最大縮放等級。如果您將最大縮放等級設為低於最低縮放等級,SDK 就會針對最小和最大值使用新的最大值。例如:假設目前的最小縮放等級是 8,最大值為 14。然後將最小縮放等級設為 16。SDK 至少採用 16 倍和最大縮放等級 16。

參數
minZoomPreference 偏好的下限。

public void setMyLocationEnabled (boolean enabled)

啟用或停用「我的位置」圖層。

啟用或停用位置資訊後,我的位置圖層會持續繪製指出使用者目前位置和方位的指標,並顯示 UI 控制項,讓使用者與自己的位置互動,例如啟用或停用其位置和方位的攝影機追蹤功能。

如要使用「我的位置」圖層功能,除非您已設定自訂位置來源,否則必須要求 ACCESS_COARSE_LOCATIONACCESS_FINE_LOCATION 的權限。

如果您已透過 setLocationSource(LocationSource) 設定自訂位置來源,Google Maps SDK for Android 不會檢查是否已授予上述權限。然而,您仍須確保使用者已授予自訂位置來源所需的所有權限。

參數
已啟用 true即可啟用,false 即可停用。
擲回
SecurityException 如果未授予位置存取權。

public void setOnCameraChangeListener (GoogleMap.OnCameraChangeListener事件監聽器)

此方法已淘汰。
已由 setOnCameraMoveStartedListener(GoogleMap.OnCameraMoveStartedListener)setOnCameraMoveListener(GoogleMap.OnCameraMoveListener)setOnCameraMoveCanceledListener(GoogleMap.OnCameraMoveCanceledListener)setOnCameraIdleListener(GoogleMap.OnCameraIdleListener) 取代。

設定相機變更時叫用的回呼。

參數
事件監聽器 相機變更時叫用的回呼。如要取消設定回呼,請使用 null

public void setOnCameraIdleListener (GoogleMap.OnCameraIdleListener事件監聽器)

設定相機動作結束時叫用的回呼。

參數
事件監聽器 叫用的回呼。如要取消設定回呼,請使用 null

public void setOnCameraMoveCanceledListener (GoogleMap.OnCameraMoveCanceledListener事件監聽器)

設定新的回呼類型停止或中斷相機動作時叫用的回呼。

參數
事件監聽器 叫用的回呼。如要取消設定回呼,請使用 null。請勿從 onCameraMoveCanceled() 中更新或加入動畫效果的相機。

public void setOnCameraMoveListener (GoogleMap.OnCameraMoveListener事件監聽器)

設定相機在移動時重複叫用的回呼。回呼只能以每個影格一次的頻率叫用,而且不應執行昂貴的作業。

參數
事件監聽器 叫用的回呼。如要取消設定回呼,請使用 null

public void setOnCameraMoveStartedListener (GoogleMap.OnCameraMoveStartedListener事件監聽器)

設定當相機開始移動或相機動作原因發生變更時叫用的回呼。

參數
事件監聽器 叫用的回呼。如要取消設定回呼,請使用 null。請勿從 onCameraMoveStarted() 中更新或加入動畫效果的相機。

public void setOnCircleClickListener (GoogleMap.OnCircleClickListener 事件監聽器)

設定點選圓形時叫用的回呼。

參數
事件監聽器 點選圓形時叫用的回呼。如要取消設定回呼,請使用 null

public void setOnGroundOverlayClickListener (GoogleMap.OnGroundOverlayClickListener事件監聽器)

設定按一下區域疊加層時叫用的回呼。

參數
事件監聽器 點選區域疊加層時叫用的回呼。如要取消設定回呼,請使用 null

public void setOnIndoorStateChangeListener (GoogleMap.OnIndoorStateChangeListener 事件監聽器)

設定或清除室內事件的監聽器。只能設定一個事件監聽器。設定新的事件監聽器會移除先前的事件監聽器。

參數
事件監聽器 室內事件的事件監聽器 (非空值時);否則,請清除監聽器

public void setOnInfoWindowClickListener (GoogleMap.OnInfoWindowClickListener事件監聽器)

設定按一下標記資訊視窗時要叫用的回呼。

參數
事件監聽器 按下標記資訊視窗時叫用的回呼。如要取消設定回呼,請使用 null

public void setOnInfoWindowCloseListener (GoogleMap.OnInfoWindowCloseListener事件監聽器)

設定當標記資訊視窗關閉時,要叫用的回呼。

參數
事件監聽器 標記資訊視窗關閉時,會叫用的回呼。如要取消設定回呼,請使用 null

public void setOnInfoWindowLongClickListener (GoogleMap.OnInfoWindowLongClickListener事件監聽器)

設定長按標記資訊視窗時要叫用的回呼。

參數
事件監聽器 長按標記資訊視窗時叫用的回呼。如要取消設定回呼,請使用 null

public void setOnMapClickListener (GoogleMap.OnMapClickListener事件監聽器)

設定使用者輕觸地圖時叫用的回呼。

參數
事件監聽器 使用者輕觸地圖時叫用的回呼。如要取消設定回呼,請使用 null

public void setOnMapLoadedCallback (GoogleMap.OnMapLoadedCallback 回呼)

設定此地圖完成算繪時,所呼叫的回呼。回呼只會叫用一次。

如果在地圖完整算繪後呼叫此方法,系統會立即叫用回呼。如果地圖因連線問題而一直無法載入,或是地圖不斷變更且因使用者持續與地圖互動而從未完成載入,則不會觸發這個事件。

參數
回呼 地圖完成算繪時叫用的回呼。如要取消設定回呼,請使用 null

public void setOnMapLongClickListener (GoogleMap.OnMapLongClickListener事件監聽器)

設定長按地圖時叫用的回呼。

參數
事件監聽器 長按地圖時叫用的回呼。如要取消設定回呼,請使用 null

public void setOnMarkerClickListener (GoogleMap.OnMarkerClickListener事件監聽器)

設定按一下標記時叫用的回呼。

參數
事件監聽器 點選標記時叫用的回呼。如要取消設定回呼,請使用 null

public void setOnMarkerDragListener (GoogleMap.OnMarkerDragListener事件監聽器)

設定拖曳標記時叫用的回呼。

參數
事件監聽器 在標記拖曳事件上叫用的回呼。如要取消設定回呼,請使用 null

public void setOnMyLocationButtonClickListener (GoogleMap.OnMyLocationButtonClickListener 事件監聽器)

設定使用者按下我的位置按鈕時叫用的回呼。

如果 listener 傳回 true,系統就會取用該事件,而不會發生預設行為。如果傳回 false,就會發生預設行為 (即攝影機移動,以使用者的位置為中心)。

參數
事件監聽器 按下「我的位置」按鈕時叫用的回呼。

public void setOnMyLocationChangeListener (GoogleMap.OnMyLocationChangeListener 事件監聽器)

這個方法已淘汰。
請改用 com.google.android.gms.location.FusedLocationProviderApi。 FusedLocationProviderApi 提供更好的位置尋找機制和耗電量,並搭配「我的位置」藍點使用。如需範例程式碼,請參閱範例應用程式資料夾中 MyLocationDemoActivity,或參閱「位置開發人員指南」。

設定當「我的位置」點變更位置時叫用的回呼。

參數
事件監聽器 當「我的位置」點變更時叫用的回呼。

public void setOnMyLocationClickListener (GoogleMap.OnMyLocationClickListener 事件監聽器)

設定按一下「我的位置」點 (代表使用者位置) 時叫用的回呼。

參數
事件監聽器 按一下「我的位置」點時叫用的回呼。

public void setOnPoiClickListener (GoogleMap.OnPoiClickListener事件監聽器)

設定事件監聽器,在點擊或輕觸搜尋點時觸發。

傳遞 null 以清除事件監聽器。

參數
事件監聽器

public void setOnPolygonClickListener (GoogleMap.OnPolygonClickListener 事件監聽器)

設定按一下多邊形時叫用的回呼。

參數
事件監聽器 點擊多邊形時叫用的回呼。如要取消設定回呼,請使用 null

public void setOnPolylineClickListener (GoogleMap.OnPolylineClickListener事件監聽器)

設定點選折線時叫用的回呼。

參數
事件監聽器 按下折線時叫用的回呼。如要取消設定回呼,請使用 null

public void setPadding (int left, int top, int right, int bottom)

設定地圖上的邊框間距。

這個方法可讓您定義地圖上的可見區域,讓地圖在邊緣周圍設定邊框間距,即可指出地圖邊緣的部分可能會遭到遮蔽。地圖函式會根據邊框間距進行調整。舉例來說,縮放控制項、指南針、版權通知和 Google 標誌將移動至定義的區域內,攝影機動作將根據可見區域的中心位置調整。

參數
地圖左側要加入邊框間距的像素數量。
要在地圖上加入邊框間距的像素數量
在地圖右側加入邊框間距的像素數量。
地圖底部要加入邊框間距的像素數量。

public void setTrafficEnabled (boolean enabled)

開啟或關閉車流量圖層。

參數
已啟用

public void snapshot (GoogleMap.SnapshotReadyCallback 回呼)

拍攝地圖快照。

當互動式地圖難以或無法使用時,您可以在應用程式中使用快照。舉例來說,使用 snapshot() 方法產生的圖片可用來在應用程式中顯示地圖縮圖,或在通知中心顯示快照。

注意:地圖圖片不得傳輸至您的伺服器,或在應用程式外用於其他用途。如果您需要將地圖傳送至其他應用程式或使用者,請傳送資料,讓他們為新使用者重新建構地圖 (而非快照)。

參數
回呼 拍攝快照時叫用的回呼方法。

public void snapshot (GoogleMap.SnapshotReadyCallback 回呼、點陣圖點陣圖)

拍攝地圖快照。

這個方法相當於 snapshot(SnapshotReadyCallback),但可讓您提供預先分配的 Bitmap。如果點陣圖與目前的地圖尺寸不符,系統會分配另一個符合地圖尺寸的點陣圖。

雖然在大多數情況下,回呼方法傳遞的物件與此方法中所提供的物件相同,但在某些情況下,傳回的物件可能會不同 (例如,如果檢視畫面的尺寸在快照實際拍攝時變更)。因此,您應該只信任回呼方法傳遞的點陣圖內容。

參數
回呼 拍攝快照時叫用的回呼方法。
點陣圖 預先分配的點陣圖。如果為 null,則行為與 snapshot(SnapshotReadyCallback) 類似。

public void stopAnimation ()

停止有進行中的相機動畫。呼叫此方法時,相機會立即停止移動,並保持在該位置。