這個類別包含建立 CameraUpdate
物件的方法,可用於變更地圖相機。如要修改地圖的相機,請使用在此類別中建立的 CameraUpdate
物件呼叫 animateCamera(CameraUpdate)
、animateCamera(CameraUpdate, GoogleMap.CancelableCallback)
或 moveCamera(CameraUpdate)
。
舉例來說,若要放大地圖,可以使用以下程式碼:
GoogleMap map = ...;
map.animateCamera(CameraUpdateFactory.zoomIn());
使用此類別的任何方法之前,您必須執行下列其中一項操作,以確保此類別已初始化:
- 等待
GoogleMap
從您新增至應用程式的MapFragment
或MapView
取得。如要取得GoogleMap
執行個體,請呼叫getMapAsync()
並等待onMapReady(GoogleMap map)
回呼。 - 呼叫
initialize(Context)
。只要並未擲回GooglePlayServicesNotAvailableException
,這個類別就會正確初始化。
開發人員指南
詳情請參閱相機和檢視畫面開發人員指南。
公用方法摘要
靜態 CameraUpdate | |
靜態 CameraUpdate | |
靜態 CameraUpdate |
newLatLngBounds(LatLngBounds 範圍、int 寬度、整數高度、整數邊框間距)
傳回可轉換相機的
CameraUpdate ,讓指定的緯度/經度邊界在位於指定尺寸的邊界方塊中,在最大縮放等級內置中。 |
靜態 CameraUpdate | |
靜態 CameraUpdate | |
靜態 CameraUpdate |
scrollBy(float xPixel、float yPixel)
傳回
CameraUpdate 以捲動地圖的方式捲動相機,將檢視中心在 x 和 y 方向上移動指定的像素數。 |
靜態 CameraUpdate |
zoomBy(float amount, Point point)
傳回
CameraUpdate ,藉此改變目前相機視角的縮放等級。 |
靜態 CameraUpdate |
zoomBy(float amount)
傳回
CameraUpdate ,藉此改變目前相機視角的縮放等級。 |
靜態 CameraUpdate |
zoomIn()
傳回一個檢視畫面,將檢視點的高度移至地球表面上方,以便放大地圖。#39;
|
靜態 CameraUpdate |
zoomOut()
傳回將
CameraUpdate 的檢視畫面高度遠遠離地球表面,以傳回地圖上的 CameraUpdate 。 |
靜態 CameraUpdate |
zoomTo(浮點縮放)
傳回將相機視角移至特定縮放等級的
CameraUpdate 。 |
繼承方法摘要
公用方法
public static CameraUpdate newCameraPosition (CameraPosition cameraPosition)
傳回將相機移至指定 CameraPosition
的 CameraUpdate
。實際上,這項操作會從 CameraPosition
物件、緯度、經度、縮放等級、航向和傾斜角度建立轉換。
參數
相機位置 |
---|
傳回
- 包含轉換的
CameraUpdate
。
公開 靜態 CameraUpdate newLatLng (LatLng latLng)
傳回 CameraUpdate
,將畫面中心移至 LatLng
物件指定的經緯度。這會將相機置中於 LatLng
物件上。
參數
拉丁美洲 | LatLng 物件,包含所需的經緯度。 |
---|
傳回
- 包含轉換的
CameraUpdate
。
公開 靜態 CameraUpdate newLatLngBounds (LatLngBounds 邊界、整數寬度、整數高度、整數邊框間距)
傳回可轉換相機的 CameraUpdate
,讓指定的緯度/經度邊界在位於指定尺寸的邊界方塊中,在最大縮放等級內置中。您可以指定額外的邊框間距,進一步限制定界框的大小。傳回的 CameraUpdate
航向為 0,傾斜度為 0。
與 newLatLngBounds(LatLngBounds, int)
不同,您可以使用引數傳回的 CameraUpdate
,在對應版面配置階段前變更相機,因為引數會指定定界框的所需大小。
參數
邊界 | 定界框中符合的區域 |
---|---|
寬度 | 定界框寬度 (像素) |
高度 | 定界框高度 (像素) |
padding | 定界框的額外大小限制 (以像素為單位) |
傳回
- 包含轉換的
CameraUpdate
。
public static CameraUpdatenewLatLngBounds(LatLngBounds邊界、 int 邊框間距)
傳回可轉換相機的 CameraUpdate
,讓指定的緯度/經度邊界以最大縮放等級為中心。您可以指定邊框間距,以便從地圖檢視畫面的邊緣插入定界框。傳回的 CameraUpdate
航向為 0,傾斜度為 0。
在地圖完成版面配置前,請勿變更這個相機更新的相機。否則,系統會擲回 IllegalStateException
。地圖不足以提供地圖,包含地圖的檢視畫面也必須採用版面配置,而已確定其尺寸已確定。如果無法確定這種情形發生,請改用 newLatLngBounds(LatLngBounds, int, int, int)
並手動提供地圖的尺寸。
參數
邊界 | 適合螢幕上的大小 |
---|---|
padding | 範圍 (以像素為單位) 離開定界框邊緣和檢視邊緣之間。這個值會套用至定界框的四個面。 |
傳回
- 包含轉換的
CameraUpdate
。
公開 靜態 CameraUpdate newLatLngZoom (LatLng latLng、浮點縮放)
傳回 CameraUpdate
,將螢幕中心移至 LatLng
物件指定的經緯度,並移至指定的縮放等級。
參數
拉丁美洲 | LatLng 物件,包含所需的經緯度。 |
---|---|
zoom | 所需的縮放等級,範圍從 2.0 到 21.0。低於這個範圍的值會設為 2.0,並將超過的值設為 21.0。增加值以放大。並非所有區域都有圖塊的最大縮放等級。 |
傳回
- 包含轉換的
CameraUpdate
。
公開靜態 CameraUpdate scrollBy (浮動 xPixel、浮點 yPixel)
傳回 CameraUpdate
以捲動地圖的方式捲動相機,將檢視中心在 x 和 y 方向上移動指定的像素數。
範例:
- 如果 xPixel = 5 和 yPixel = 0,系統會移動相機進行向右捲動,讓地圖看起來向左移動 5 像素。
- 如果 xPixel = 0 和 yPixel = 5,系統會移動相機進行下捲動,因此地圖看起來會向上移動 5 像素。
滾動是相對於相機的當前方向。舉例來說,如果相機的航向為 90 度,「東方」是「向上」的,向右捲動則會將相機向南移動。
參數
xPixel | 水平捲動的像素數量。正值會根據相機目前的方向將相機向右移動。負值會將相機相對於目前方向,向左移動。 |
---|---|
yPixel | 垂直捲動的像素數量。正值會使相機相對於目前方向向下移動。負值會將相機根據目前方嚮往上移。 |
傳回
- 包含轉換的
CameraUpdate
。
公開靜態 CameraUpdate zoomBy (浮點數,點焦點)
傳回調整目前相機視角的縮放等級的 CameraUpdate
。
聚焦的點會保持固定 (也就是說,在縮放程序前後都有相同的經緯度)。
這個方法與 zoomTo(float)
不同,它的縮放值是相對於目前的相機。
舉例來說,如果 LatLng
(11.11, 22.22) 目前位於畫面位置 (23, 45)。使用縮放和此 LatLng
呼叫此方法後,此 LatLng
的螢幕位置仍為 (23、45)。
參數
amount | 改變縮放等級。正值代表拉近地球表面的縮放值,負值則代表縮小地球表面。 |
---|---|
主軸 | 縮放程序完成後,畫面上的固定像素位置。 相機移動前位於該像素位置的經緯度,在相機移動後會保持不變。 |
傳回
- 包含轉換的
CameraUpdate
。
公開靜態 CameraUpdate zoomBy (浮動金額)
傳回調整目前相機視角的縮放等級的 CameraUpdate
。
此方法與 zoomTo(float)
不同,它的縮放相對於目前的相機。
參數
amount | 改變縮放等級。正值代表拉近地球表面的縮放值,負值則代表縮小地球表面。 |
---|
傳回
- 包含轉換的
CameraUpdate
。
公開靜態 CameraUpdate zoomOut ()
傳回將 CameraUpdate
的檢視畫面高度遠遠離地球表面,以傳回地圖上的 CameraUpdate
。縮放增量值為 -1.0。
傳回
- 包含轉換的
CameraUpdate
。
公開靜態 CameraUpdate zoomTo (浮動縮放)
傳回將相機視角移至特定縮放等級的 CameraUpdate
。
參數
zoom | 所需的縮放等級,範圍從 2.0 到 21.0。低於這個範圍的值會設為 2.0,並將超過的值設為 21.0。增加值以放大。並非所有區域都有圖塊的最大縮放等級。 |
---|