TileOverlay

公開最終類別 TileOverlay 擴充物件

圖塊疊加層是顯示在基本地圖圖塊上方的一組圖片。這些圖塊可能是透明的,可讓您將功能新增至現有地圖。圖塊疊加層有下列屬性:

資訊方塊供應商
TileProvider 提供在圖塊疊加層中使用的圖片。您必須先指定圖塊提供者,才能將其加入地圖。新增資訊方塊提供者後,就無法變更相關資訊;但是,您可以修改動態磚供應商的行為,以便傳回特定座標的不同圖片。如果圖塊提供者提供的圖塊發生變更,則須在呼叫後呼叫 clearTileCache(),確保系統不再顯示先前的圖塊。
Z-index
此圖塊疊加層相對於其他疊加層的繪製順序 (包括 GroundOverlayCirclePolylinePolygon,但不是 Marker)。系統會將 Z-index 值較大的疊加層繪製在 Z 索引較低的疊加層上;具有相同 Z-index 的疊加層順序為任意順序。預設的 zIndex 為 0。
透明度
範圍 [0..1] 中的圖塊疊加層透明度,其中 0 表示疊加層不透明,1 表示疊加層完全透明。如果指定的點陣圖已經是部分透明的,則每個像素的透明度都會隨之調整 (例如,如果點陣圖中的像素的 Alpha 值是 200,而將圖塊疊加層的透明度設為 0.25,則像素將在螢幕上顯示 Alpha 值為 150)。此屬性的規格為選用項目,預設透明度為 0 (不透明)。
顯示設定
指出圖塊疊加層為可見或可見 (例如是否在地圖上繪製)。系統不會繪製不可見的圖塊疊加層,但會保留所有其他屬性。預設為 true,也就是可見。

您只能在主執行緒呼叫這個類別中的方法。否則將取得 IllegalStateException

圖塊座標

請注意,系統會使用麥卡托投影 (請參閱維基百科) 來預測世界,圖的左側 (西) 側是相對應的 -180 度經度,地圖的右側 (東) 則對應為經度 180 度。如要將地圖設為正方形,地圖的頂端 (北) 側會對應至緯度 85.0511 度,地圖的底部 (南) 側則對應至緯度 -85.0511 度。系統不會轉譯這個緯度範圍以外的區域。

在每個縮放等級中,地圖會拆分為圖塊,且只會下載並算繪與畫面重疊的圖塊。每個圖塊都是正方形,且地圖會分成多個圖塊,如下所示:

  • 縮放等級為 0 時,代表一個圖塊代表了整個世界。該圖塊的座標為 (x, y) = (0, 0)。
  • 縮放等級為 1 時,全世界分為 4 個圖塊,並以 2 x 2 的格線排列。
  • ...
  • 縮放等級為 N 時,全世界則會分割為以 2N x 2N 格線排列的 4N 個圖塊。
請注意,相機支援的最小縮放等級 (取決於各種因素) 為 GoogleMap.getMinZoomLevel,而最大縮放等級為 GoogleMap.getMaxZoomLevel

圖塊的座標是從地圖左上角 (西北角) 進行測量。縮放等級為 N 時,圖塊座標的 x 值介於 0 至 2N - 1 之間,且從西到東逐漸增加,y 值介於 0 到 2 N - 1 之間,從北到南逐漸增加。

範例

GoogleMap map; // ... get a map.
 TileProvider tileProvider; // ... create a tile provider.
 TileOverlay tileOverlay = map.addTileOverlay(
     new TileOverlayOptions().tileProvider(tileProvider));
 

公用方法摘要

void
clearTileCache()
清除圖塊快取,以便再次從 TileProvider 要求所有圖塊。
布林
等於 (物件其他)
測試這個 TileOverlay 是否等於另一個。
布林
getFadeIn()
取得疊加層圖塊是否應淡入。
字串
getId()
取得這個圖塊疊加層 ID。
浮點值
getTransparency()
取得這個圖塊疊加層的透明度。
浮點值
getZIndex()
取得這個圖塊疊加層的 zIndex。
整數
布林
isVisible()
取得這個圖塊疊加層的顯示設定。
void
remove()
從地圖中移除此圖塊疊加層。
void
setFadeIn(布林值 FadeIn)
設定疊加層圖塊是否應淡入。
void
setTransparency(浮動透明度)
設定此圖塊疊加層的透明度。
void
setVisible (布林值顯示)
設定此圖塊疊加層的顯示設定。
void
setZIndex (浮動值 zIndex)
設定這個圖塊疊加層的 zIndex。

繼承方法摘要

公用方法

public clearTileCache ()

清除圖塊快取,以便系統再次從 TileProvider 要求所有圖塊。呼叫此方法後,此圖塊疊加層中的目前圖塊也會從地圖中清除。API 會在圖塊中保存一個小型的記憶體內快取。如果您想長時間快取圖塊,請實作磁碟上快取。

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

測試這個 TileOverlay 是否等於另一個。

參數
其他 Object
傳回
  • 如果兩個物件都相同,則物件的值為 true,也就是其他值 ==。

public 布林值 getFadeIn ()

取得疊加層圖塊是否應淡入。

傳回
  • 如果圖塊圖塊淡入,則為 true;否則為 false

public String getId ()

取得這個圖塊疊加層 ID。

public float getTransparency ()

取得這個圖塊疊加層的透明度。

傳回
  • 此圖塊疊加層的透明度。

public float getZIndex ()

取得這個圖塊疊加層的 zIndex。

傳回
  • 圖塊疊加層的 zIndex。

public int hashCode ()

公開布林值 isVisible ()

取得這個圖塊疊加層的顯示設定。請注意,這不會傳回圖塊疊加層是否確實位於螢幕的可視區域中,但如果並納入疊加層的可視區域,則不會傳回。

傳回
  • 這個圖塊疊加層的顯示設定。#39;

public 移除 ()

從地圖中移除此圖塊疊加層。

public setFadeIn (布林值 fadeIn)

設定疊加層圖塊是否應淡入。

參數
淡出 true 讓圖塊呈現淡出狀態;false 會立即轉譯。

public setTransparency (浮點透明度)

設定此圖塊疊加層的透明度。詳情請參閱本類別頂端的說明文件。

參數
資訊公開 範圍為 [0..1] 的浮點,其中 0 表示圖塊疊加層為不透明,1 表示圖塊疊加層為透明。

public setVisible (布林值顯示)

設定此圖塊疊加層的顯示設定。如果看不到,圖塊疊加層就不會繪製,但會保留所有其他屬性。圖塊疊加層預設顯示。

參數
顯示 true 可讓疊加層重疊顯示;false 則可隱藏這個疊加層。

public setZIndex(float zIndex)

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

參數
ZIndex 此圖塊疊加層的 zIndex。