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 時,全世界會分成 4 個圖塊,並排出 2N x 2N 個圖塊。
請注意,相機支援的最低縮放等級 (取決於多項因素) 為 GoogleMap.getMinZoomLevel,最高縮放等級為 GoogleMap.getMaxZoomLevel

圖塊座標是由地圖左上角 (西北) 測量。在縮放等級 N 時,圖塊座標的 x 值範圍介於 0 到 2N 到 1,以及從西到東遞增,y 值的範圍介於 0 到 2N 到 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。
int
布林值
isVisible()
取得此圖塊疊加層的瀏覽權限。
void
remove()
從地圖移除這個圖塊疊加層。
void
setFadeIn(布林值 fadeIn)
設定是否應淡入疊加層圖塊。
void
setTransparency(浮動透明度)
設定這個圖塊疊加層的透明度。
void
setVisible(可見布林值)
設定這個圖塊疊加層的顯示設定。
void
setZIndex(float zIndex)
設定這個圖塊疊加層的 zIndex。

繼承方法摘要

公用方法

public void clearTileCache ()

清除圖塊快取,讓系統從 TileProvider 再次要求所有圖塊。 呼叫此方法後,系統也會從地圖上清除這個圖塊疊加層目前的圖塊。API 會維護一個小型的記憶體內快取。如果想延長快取圖塊的時間,建議您導入磁碟快取。

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

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

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

公開布林值 getFadeIn ()

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

傳回
  • true 表示資訊方塊淡入;false 表示不淡入。

public String getId ()

取得此圖塊疊加層的 ID。

public float getTransparency ()

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

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

public float getZIndex ()

取得此圖塊疊加層的 zIndex。

傳回
  • 圖塊疊加層的 zIndex。

public int hashCode ()

public boolean isVisible ()

取得此圖塊疊加層的瀏覽權限。請注意,這不會傳回圖塊疊加層是否確實位於螢幕的可視區域中,但如果是在螢幕的可視區域中,是否會繪製該圖塊疊加層。

傳回
  • 圖塊疊加層的可見度。

public void remove ()

從地圖移除這個圖塊疊加層。

public void setFadeIn (boolean fadeIn)

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

參數
fadeIn true 可讓資訊方塊淡入,false 則可立即算繪。

public void setTransparency (浮點透明度)

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

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

public void setVisible (boolean visible)

設定這個圖塊疊加層的顯示設定。未顯示時,系統不會繪製圖塊疊加層,但會保留所有其他屬性。圖塊疊加層預設為顯示。

參數
顯示 true 即可顯示此疊加層;false 表示隱藏。

public void setZIndex (float zIndex)

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

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