這個類別包含建立 CameraUpdate
物件的方法,用於變更地圖攝影機。如要修改地圖的相機,請使用透過這個類別建立的 CameraUpdate
物件,呼叫 animateCamera(CameraUpdate)
、animateCamera(CameraUpdate, GoogleMap.CancelableCallback)
或 moveCamera(CameraUpdate)
。
舉例來說,如要放大地圖,您可以使用以下程式碼:
GoogleMap map = ...;
map.animateCamera(CameraUpdateFactory.zoomIn());
在使用這個類別的任何方法之前,您必須執行下列其中一項操作,確保此類別已初始化:
- 加入
GoogleMap
,等待加入應用程式的MapFragment
或MapView
可供使用。您可以呼叫getMapAsync()
並等待onMapReady(GoogleMap map)
回呼,以取得GoogleMap
例項。 - 呼叫
initialize(Context)
。只要未擲回GooglePlayServicesNotAvailableException
,這個類別就會正確初始化。
開發人員指南
詳情請參閱相機和檢視畫面開發人員指南。
公用方法摘要
靜態 CameraUpdate | |
靜態 CameraUpdate | |
靜態 CameraUpdate |
newLatLngBounds(LatLngBounds 範圍、 int 寬度、Int 高度、整數間距)
傳回可轉換攝影機的
CameraUpdate ,讓指定的經緯度邊界以最大縮放等級的指定維度邊界,在畫面中央。 |
靜態 CameraUpdate | |
靜態 CameraUpdate | |
靜態 CameraUpdate |
scrollBy(浮點值 xPixel,浮點 yPixel)
傳回可在地圖上捲動攝影機的
CameraUpdate ,並依據 x 和 y 方向指定的像素,將檢視畫面的中心移動。 |
靜態 CameraUpdate |
zoomBy(浮點值、點焦點)
傳回可調整目前相機視角縮放等級的
CameraUpdate 。 |
靜態 CameraUpdate |
zoomBy(浮點數)
傳回可調整目前相機視角縮放等級的
CameraUpdate 。 |
靜態 CameraUpdate |
zoomIn()
傳回可將觀察點的高度移動到地球表面的
CameraUpdate ,藉此放大地圖。 |
靜態 CameraUpdate |
zoomOut()
傳回能透過將觀察點高度移到地球表面較遠的
CameraUpdate ,放大地圖。 |
靜態 CameraUpdate |
zoomTo(浮動縮放)
傳回
CameraUpdate ,可將相機觀察點移至特定縮放等級。 |
繼承方法摘要
公用方法
公開靜態 CameraUpdate newCameraPosition (CameraPosition cameraPosition)
傳回將攝影機移至指定的 CameraPosition
的 CameraUpdate
。實際上,這會建立 CameraPosition
物件的緯度、經度、縮放等級、方位和傾斜角度轉換。
參數
cameraPosition |
---|
傳回
- 包含轉換的
CameraUpdate
。
公開靜態 CameraUpdate newLatLng (LatLng latLng)
傳回 CameraUpdate
,可將畫面中心移至 LatLng
物件指定的經緯度。這會將相機置於 LatLng
物件中央。
參數
latLng | 包含所需經緯度的 LatLng 物件。 |
---|
傳回
- 包含轉換的
CameraUpdate
。
公開靜態 CameraUpdate newLatLngBounds (LatLngBounds 範圍、int 寬度、Int 高度、in 邊框間距)
傳回可轉換攝影機的 CameraUpdate
,讓指定的經緯度邊界以最大縮放等級的指定維度邊界,在畫面中央。您可以指定其他邊框間距,進一步限制定界框的大小。傳回的 CameraUpdate
航向為 0,傾斜角度為 0。
與 newLatLngBounds(LatLngBounds, int)
不同,您可以使用這個方法傳回的 CameraUpdate
,在地圖的版面配置階段之前變更攝影機,因為引數會指定定界框的所需大小。
參數
邊界 | 這個區域以符合定界框 |
---|---|
width | 定界框寬度 (以像素為單位) |
height | 定界框高度 (以像素為單位) |
padding | 定界框的額外大小限制 (以 px 為單位) |
傳回
- 包含轉換的
CameraUpdate
。
公開靜態 CameraUpdate newLatLngBounds (LatLngBounds 範圍、不含邊框間距)
傳回可轉換攝影機的 CameraUpdate
,讓指定的經緯度邊界以最大縮放等級在螢幕中央。您可以指定邊框間距,以便從地圖檢視的邊緣插入定界框。傳回的 CameraUpdate
航向為 0,傾斜角度為 0。
在地圖完成版面配置之前,請勿用這部攝影機更新攝影機 (為了正確決定適當的定界框和縮放等級,地圖必須包含大小)。否則系統會擲回 IllegalStateException
。但足以提供地圖;包含地圖的檢視畫面也必須設定在版面配置中,以確定其尺寸。如果無法確定發生此情況,請改用 newLatLngBounds(LatLngBounds, int, int, int)
,並手動提供地圖的尺寸。
參數
邊界 | 適合螢幕空間 |
---|---|
padding | 預留空間 (以 px 為單位),這個值會套用至定界框的全部四個邊。 |
傳回
- 包含轉換的
CameraUpdate
。
公開靜態 CameraUpdate newLatLngZoom (LatLng latLng、浮點縮放)
傳回 CameraUpdate
,可將畫面中心移至 LatLng
物件指定的經緯度,並移至指定的縮放等級。
參數
latLng | 包含所需經緯度的 LatLng 物件。 |
---|---|
zoom | 所需的縮放等級,介於 2.0 到 21.0 之間。這個範圍以下的值會設為 2.0,高於該範圍的值會設為 21.0。增加值即可放大。並非所有區域都有最高的縮放等級。 |
傳回
- 包含轉換的
CameraUpdate
。
公開靜態 CameraUpdate scrollBy (float xPixel, float 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 zoomIn ()
傳回可將觀察點的高度移動到地球表面的 CameraUpdate
,藉此放大地圖。縮放增量為 1.0。
傳回
- 包含轉換的
CameraUpdate
。
公開靜態 CameraUpdate zoomOut ()
傳回能透過將觀察點高度移到地球表面較遠的 CameraUpdate
,放大地圖。縮放增量為 -1.0。
傳回
- 包含轉換的
CameraUpdate
。
公開靜態 CameraUpdate zoomTo (floatzoom)
傳回 CameraUpdate
,可將相機觀察點移至特定縮放等級。
參數
zoom | 所需的縮放等級,介於 2.0 到 21.0 之間。這個範圍以下的值會設為 2.0,高於該範圍的值會設為 21.0。增加值即可放大。並非所有區域都有最高的縮放等級。 |
---|