GroundOverlay

公開最終類別 GroundOverlay 擴充物件

區域疊加層是指固定於地圖上的圖片。區域疊加層包含下列屬性:

位置
有兩種方法可指定區域疊加層的位置:
  • 使用位置:您必須提供區域疊加層的圖片、固定位置的 LatLng,以及疊加層的寬度 (單位為公尺)。根據預設,錨點為圖片頂端的 50%,距離圖片左側 50%。這項設定可以變更。您可以視需要提供疊加層的高度 (單位為公尺)。如未提供疊加層的高度,系統會自動計算,以維持圖片的比例。
  • 使用邊界:您必須提供要包含圖片的 LatLngBounds
您必須先指定區域疊加層的位置,才能將其加入地圖;否則,將區域疊加層加入地圖時,系統會擲回 IllegalArgumentException。此外,您必須在 GroundOverlayOptions 物件中使用其中一種方法指定位置;否則,在使用第二種方法指定時,系統會擲回 IllegalStateException
圖片
此疊加層要使用的圖片 (以 BitmapDescriptor 格式)。圖片會調整為符合指定位置。您必須先指定圖片,才能將區域疊加層加入地圖。如果不是,系統會在 IllegalArgumentException 加入地圖時擲回該圖片。
航向
圖片應以順時針方向旋轉的大小。旋轉中心即為圖片的錨點。這是選填欄位,預設航向為 0,也就是圖片最好對齊北方。
zIndex
此區域疊加層相對於其他疊加層 (包括 PolylineTileOverlay,但非 Marker) 的繪製順序。系統會將 zIndex 值較大的疊加層繪製在 zIndex 較小的疊加層上。如果疊加層的 zIndex 值相同,則疊加順序是隨機決定的。此為選用項目,且預設的 zIndex 值為 0。
資訊公開
範圍 [0..1] 範圍內的區域疊加層透明度,其中 0 表示疊加層不透明,1 表示疊加層完全透明。如果指定的點陣圖已部分透明,系統將據此調整每個像素的透明度 (舉例來說,如果點陣圖中的像素的 Alpha 值為 200,而您將區域疊加層的透明度指定為 0.25),則像素會在螢幕上算繪,且 Alpha 值為 150。這項屬性的規格為選填,且預設的透明度為 0 (不透明)。
瀏覽權限
指出區域疊加層是可見還是隱藏,也就是是否在地圖上繪製。隱形的區域疊加層不會繪製,但會保留所有其他屬性。這是選用項目,預設的顯示設定為 true,也就是可見。
可點擊性
如要處理使用者點選區域疊加層時觸發的事件,請將這項屬性設為 true。您隨時可以變更這個值。預設值為 false。如果此屬性設為 true,應用程式就會收到透過 setOnGroundOverlayClickListener(GoogleMap.OnGroundOverlayClickListener) 註冊的 GoogleMap.OnGroundOverlayClickListener 通知。
標記
與區域疊加層相關聯的 Object。舉例來說,Object 可包含區域疊加層代表的相關資料。這比儲存個別的 Map<GroundOverlay, Object> 容易。另一個例子是,您可以將與資料集 ID 對應的 String ID 建立關聯。Google Maps SDK for Android 不會讀取或寫入這個屬性。

此類別中的方法必須在 Android UI 執行緒上呼叫。否則,系統會在執行階段擲回 IllegalStateException

範例

GoogleMap map = ...; // get a map.
 BitmapDescriptor imageDescriptor = ...; // get an image.
 LatLngBounds bounds = ...; // get a bounds
 // Adds a ground overlay with 50% transparency.
 GroundOverlay groundOverlay = map.addGroundOverlay(new GroundOverlayOptions()
     .image(imageDescriptor)
     .positionFromBounds(bounds)
     .transparency(0.5));
 

公用方法摘要

布林值
等於(其他物件)
測試此 GroundOverlay 是否等於另一個值。
浮點值
getBearing()
從北方順時針取得區域疊加層的方位。
LatLngBounds
getBounds()
取得區域疊加層的邊界。
浮點值
getHeight()
取得區域疊加層的高度。
字串
getId()
取得此區域疊加層 ID。
LatLng
getPosition()
取得錨點的位置。
物件
getTag()
取得圓形的標記。
浮點值
getTransparency()
取得這個區域疊加層的透明度。
浮點值
getWidth()
取得區域疊加層的寬度。
浮點值
getZIndex()
取得此區域疊加層的 zIndex。
int
布林值
isClickable()
取得區域疊加層的可點擊性。
布林值
isVisible()
取得區域疊加層的能見度。
void
remove()
從地圖中移除此區域疊加層。
void
setBearing(浮動方位)
設定區域疊加層的方位 (區域疊加層點垂直軸的方向) 以比北順時針角度。
void
setClickable(布林值可點擊)
設定區域疊加層的可點擊屬性。
void
setDimensions(浮點寬度、浮點高度)
設定區域疊加層的維度。
void
setDimensions(浮點寬度)
設定區域疊加層的寬度。
void
setImage(BitmapDescriptor imageDescriptor)
設定區域疊加層的圖片。
void
setPosition(LatLng latLng)
變更錨點的位置,設定區域疊加層的位置。
void
setPositionFromBounds(LatLngBounds 範圍)
將區域疊加層調整至指定的 LatLngBounds,藉此設定區域疊加層的位置。
void
setTag(物件標記)
設定區域疊加層的標記。
void
setTransparency(浮動透明度)
設定此區域疊加層的透明度。
void
setVisible(可見布林值)
設定此區域疊加層的顯示設定。
void
setZIndex(float zIndex)
設定這個區域疊加層的 zIndex。

繼承方法摘要

公用方法

公開布林值 等於 (物件其他)

測試此 GroundOverlay 是否等於另一個值。

參數
其他 Object
傳回
  • 如果兩個物件相同,則傳回 true,即 == 其他物件。

public float getBearing ()

從北方順時針取得區域疊加層的方位。

傳回
  • 區域疊加層的方位。

公開 LatLngBounds getBounds ()

取得區域疊加層的邊界。這會忽略區域疊加層的旋轉角度。

傳回

public float getHeight ()

取得區域疊加層的高度。

傳回
  • 區域疊加層的高度 (以公尺為單位)。

public String getId ()

取得此區域疊加層 ID。此 ID 是地圖上所有 GroundOverlays 的唯一識別碼。

傳回
  • 該區域疊加層的 ID。

public LatLng getPosition ()

取得錨點的位置。

傳回
  • 地圖上的位置 (LatLng)。

公開物件 getTag ()

取得圓形的標記。

傳回
  • 如果標記是設為 setTag 時的標記;如果未設定任何標記,則為 null

public float getTransparency ()

取得這個區域疊加層的透明度。

傳回
  • 此區域疊加層的透明度。

public float getWidth ()

取得區域疊加層的寬度。

傳回
  • 區域疊加層的寬度 (以公尺為單位)。

public float getZIndex ()

取得此區域疊加層的 zIndex。

傳回
  • 區域疊加層的 zIndex。

public int hashCode ()

public boolean isClickable ()

取得區域疊加層的可點擊性。如果區域疊加層可以點選,當使用者點擊區域疊加層時,應用程式會收到 GoogleMap.OnGroundOverlayClickListener 的通知。事件監聽器透過 setOnGroundOverlayClickListener(GoogleMap.OnGroundOverlayClickListener) 註冊。

傳回
  • 如果區域疊加層可以點擊,則為 true;否則會傳回 false

public boolean isVisible ()

取得區域疊加層的能見度。請注意,這不會傳回區域疊加層是否確實顯示在螢幕上,但如果區域疊加層包含在攝影機可視區域中,是否會繪製。

傳回
  • 區域疊加層的瀏覽權限。

public void remove ()

從地圖中移除此區域疊加層。移除區域疊加層後,所有方法的行為皆未定義。

public void setBearing (浮動方位)

設定區域疊加層的方位 (區域疊加層點垂直軸的方向) 以比北順時針角度。系統會針對錨點旋轉。

參數
方位 從北順時針方向角度以度為單位

public void setClickable (布林值可點擊)

設定區域疊加層的可點擊屬性。如果區域疊加層可以點選,當使用者點擊區域疊加層時,應用程式會收到 GoogleMap.OnGroundOverlayClickListener 的通知。事件監聽器透過 setOnGroundOverlayClickListener(GoogleMap.OnGroundOverlayClickListener) 註冊。

參數
可點擊 新增區域疊加層的可點擊屬性設定。

public void setDimensions (浮點寬度、浮點高度)

設定區域疊加層的維度。圖片會延展,以符合尺寸。

參數
width 寬度 (公尺)
height 高度 (單位為公尺)

public void setDimensions (浮點寬度)

設定區域疊加層的寬度。區域疊加層的高度會隨之調整,以維持長寬比。

參數
width 寬度 (單位為公尺)

public void setImage (BitmapDescriptor imageDescriptor)

設定區域疊加層的圖片。新圖片的邊界會與舊映像檔相同。

參數
imageDescriptor 此區域疊加層要使用的 BitmapDescriptor

public void setPosition (LatLng latLng)

變更錨點的位置,設定區域疊加層的位置。保留圖片的所有其他屬性。

參數
latLng LatLng 是放置錨點的新位置。

public void setPositionFromBounds (LatLngBounds 範圍)

將區域疊加層調整至指定的 LatLngBounds,藉此設定區域疊加層的位置。此方法會在放置區域疊加層時忽略其旋轉 (偏移),但在繪製區域時仍會使用航向。

參數
邊界 用於放置區域疊加層的 LatLngBounds

public void setTag (物件標記)

設定區域疊加層的標記。

您可以使用這個屬性,將任意的 Object 與這個區域疊加層建立關聯。舉例來說,Object 可包含區域疊加層代表的內容。這比儲存個別的 Map<GroundOverlay, Object> 容易。另一個例子是,您可以將與資料集 ID 對應的 String ID 建立關聯。Google Maps SDK for Android 既不會讀取或寫入這個屬性,您必須負責呼叫 setTag(null) 以清除不再需要的標記,以免應用程式的記憶體流失。

參數
標記 如果為空值,系統會清除標記。

public void setTransparency (浮點透明度)

設定此區域疊加層的透明度。詳情請參閱這個類別頂端的說明文件。

參數
資料使用方式 範圍為 [0..1] 的浮點數,其中 0 表示區域疊加層不透明,1 表示區域疊加層為透明。

public void setVisible (boolean visible)

設定此區域疊加層的顯示設定。未顯示的區域疊加層時,系統不會繪製區域疊加層,但會保留所有其他屬性。

參數
顯示 如果為 true,會顯示區域疊加層;如果為 false,則不會顯示

public void setZIndex (float zIndex)

設定這個區域疊加層的 zIndex。詳情請參閱這個類別頂端的說明文件。

參數
zIndex 此區域疊加層的 zIndex