CameraUpdateFactory

公開最終類別 CameraUpdateFactory 擴充物件

這個類別包含建立 CameraUpdate 物件的方法,用於變更地圖攝影機。如要修改地圖的相機,請使用透過這個類別建立的 CameraUpdate 物件,呼叫 animateCamera(CameraUpdate)animateCamera(CameraUpdate, GoogleMap.CancelableCallback)moveCamera(CameraUpdate)

舉例來說,如要放大地圖,您可以使用以下程式碼:

GoogleMap map = ...;
 map.animateCamera(CameraUpdateFactory.zoomIn());
 

在使用這個類別的任何方法之前,您必須執行下列其中一項操作,確保此類別已初始化:

開發人員指南

詳情請參閱相機和檢視畫面開發人員指南。

公用方法摘要

靜態 CameraUpdate
newCameraPosition(CameraPosition cameraPosition)
傳回將攝影機移至指定的 CameraPositionCameraUpdate
靜態 CameraUpdate
newLatLng(LatLng latLng)
傳回 CameraUpdate,可將畫面中心移至 LatLng 物件指定的經緯度。
靜態 CameraUpdate
newLatLngBounds(LatLngBounds 範圍、 int 寬度、Int 高度、整數間距)
傳回可轉換攝影機的 CameraUpdate,讓指定的經緯度邊界以最大縮放等級的指定維度邊界,在畫面中央。
靜態 CameraUpdate
newLatLngBounds(LatLngBounds 範圍、整數間距)
傳回可轉換攝影機的 CameraUpdate,讓指定的經緯度邊界以最大縮放等級在螢幕中央。
靜態 CameraUpdate
newLatLngZoom(LatLng latLng、浮點縮放等級)
傳回 CameraUpdate,可將畫面中心移至 LatLng 物件指定的經緯度,並移至指定的縮放等級。
靜態 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)

傳回將攝影機移至指定的 CameraPositionCameraUpdate。實際上,這會建立 CameraPosition 物件的緯度、經度、縮放等級、方位和傾斜角度轉換。

參數
cameraPosition
傳回

公開靜態 CameraUpdate newLatLng (LatLng latLng)

傳回 CameraUpdate,可將畫面中心移至 LatLng 物件指定的經緯度。這會將相機置於 LatLng 物件中央。

參數
latLng 包含所需經緯度的 LatLng 物件。
傳回

公開靜態 CameraUpdate newLatLngBounds (LatLngBounds 範圍、int 寬度、Int 高度、in 邊框間距)

傳回可轉換攝影機的 CameraUpdate,讓指定的經緯度邊界以最大縮放等級的指定維度邊界,在畫面中央。您可以指定其他邊框間距,進一步限制定界框的大小。傳回的 CameraUpdate 航向為 0,傾斜角度為 0。

newLatLngBounds(LatLngBounds, int) 不同,您可以使用這個方法傳回的 CameraUpdate,在地圖的版面配置階段之前變更攝影機,因為引數會指定定界框的所需大小。

參數
邊界 這個區域以符合定界框
width 定界框寬度 (以像素為單位)
height 定界框高度 (以像素為單位)
padding 定界框的額外大小限制 (以 px 為單位)
傳回

公開靜態 CameraUpdate newLatLngBounds (LatLngBounds 範圍、不含邊框間距)

傳回可轉換攝影機的 CameraUpdate,讓指定的經緯度邊界以最大縮放等級在螢幕中央。您可以指定邊框間距,以便從地圖檢視的邊緣插入定界框。傳回的 CameraUpdate 航向為 0,傾斜角度為 0。

在地圖完成版面配置之前,請勿用這部攝影機更新攝影機 (為了正確決定適當的定界框和縮放等級,地圖必須包含大小)。否則系統會擲回 IllegalStateException。但足以提供地圖;包含地圖的檢視畫面也必須設定在版面配置中,以確定其尺寸。如果無法確定發生此情況,請改用 newLatLngBounds(LatLngBounds, int, int, int),並手動提供地圖的尺寸。

參數
邊界 適合螢幕空間
padding 預留空間 (以 px 為單位),這個值會套用至定界框的全部四個邊。
傳回

公開靜態 CameraUpdate newLatLngZoom (LatLng latLng、浮點縮放)

傳回 CameraUpdate,可將畫面中心移至 LatLng 物件指定的經緯度,並移至指定的縮放等級。

參數
latLng 包含所需經緯度的 LatLng 物件。
zoom 所需的縮放等級,介於 2.0 到 21.0 之間。這個範圍以下的值會設為 2.0,高於該範圍的值會設為 21.0。增加值即可放大。並非所有區域都有最高的縮放等級。
傳回

公開靜態 CameraUpdate scrollBy (float xPixel, float yPixel)

傳回可在地圖上捲動攝影機的 CameraUpdate,以 x 和 y 方向的指定像素移動檢視畫面中心。

範例:

  • 如果 xPixel = 5 和 yPixel = 0,系統會向右移動相機,使地圖看起來向左移 5 個像素。
  • 如果 xPixel = 0 且 yPixel = 5,系統會移動相機以向下捲動,使地圖看起來已經向上移動 5 個像素。

滾動是相對於相機的當前方向。舉例來說,如果攝影機的航向為 90 度,東邊就是「向上」,向右捲動則會將攝影機往南移動。

參數
xPixel 要水平捲動的像素數量。正值會將攝影機根據目前方向向右移動。負值會將攝影機根據目前方向向左移動。
yPixel 垂直捲動的像素數量。正值會將攝影機根據目前方向向下移動。負值會將攝影機根據目前方向向上移動。
傳回

公開靜態 CameraUpdate zoomBy (浮點值、點焦點)

傳回可調整目前相機視角的縮放等級的 CameraUpdate

由焦點指定的點會保持固定,也就是對應在縮放程序前後,皆對應相同的經緯度。

此方法與 zoomTo(float) 不同,其縮放等級相對於目前相機。

舉例來說,如果 LatLng (11.11、22.22) 目前位於螢幕位置 (23, 45)。使用縮放等級和此 LatLng 呼叫此方法後,此 LatLng 的畫面位置將會是 (23、45)。

參數
amount 數字來變更縮放等級。正值表示縮放越靠近地球表面,負值則代表縮小地球表面。
主軸 像素位置在縮放程序後保持固定。攝影機移動前在該像素位置的經緯度將維持不變。
傳回

公開靜態 CameraUpdate zoomBy (浮點數值)

傳回可調整目前相機視角的縮放等級的 CameraUpdate

此方法與 zoomTo(float) 不同,其縮放等級相對於目前相機。

參數
amount 數字來變更縮放等級。正值表示縮放越靠近地球表面,負值則代表縮小地球表面。
傳回

公開靜態 CameraUpdate zoomIn ()

傳回可將觀察點的高度移動到地球表面的 CameraUpdate,藉此放大地圖。縮放增量為 1.0。

傳回

公開靜態 CameraUpdate zoomOut ()

傳回能透過將觀察點高度移到地球表面較遠的 CameraUpdate,放大地圖。縮放增量為 -1.0。

傳回

公開靜態 CameraUpdate zoomTo (floatzoom)

傳回 CameraUpdate,可將相機觀察點移至特定縮放等級。

參數
zoom 所需的縮放等級,介於 2.0 到 21.0 之間。這個範圍以下的值會設為 2.0,高於該範圍的值會設為 21.0。增加值即可放大。並非所有區域都有最高的縮放等級。