總覽
GMSTileLayer 是一種抽象類別,允許在指定的GMSMapView上疊加自訂影像圖塊。
它可能不會直接初始化,而子類別必須實作 tileForX:y:zoom: 方法來傳回圖塊。
縮放等級為 0 時,整個世界是單一圖塊覆蓋的正方形,而該圖塊的 x
和 y
座標為 0。縮放等級為 1 時,全世界有 4 個圖塊,x
和 y
為 0 或 1,以此類推。
繼承GMSSyncTileLayer和GMSURLTileLayer。
公開成員函式 | |
(void) | - requestTileForX:y:zoom:receiver: |
requestTileForX:y:zoom:receiver: 會為 GMSTileOverlay 產生影像圖塊。 | |
(void) | - clearTileCache |
清除快取,讓系統再次要求所有圖塊。 | |
資源 | |
GMSMapView * | 地圖 |
顯示這個 GMSTileOverlay 的地圖顯示。 | |
int | zIndex |
系統會將較高的 zIndex 值圖塊圖層繪製在較低的 zIndex 值圖塊圖層和疊加層上。 | |
NSInteger | tileSize |
指定傳回的圖塊圖片偏好顯示的像素數量 (而非點)。 | |
float | 不透明度 |
指定圖塊圖層的不透明度。 | |
BOOL | fadeIn |
用於指定圖塊是否應淡入, |
成員函式說明文件
- (void) requestTileForX: | (NSUInteger) | x | |
Y: | (NSUInteger) | y 鍵 | |
縮放: | (NSUInteger) | 縮放 | |
接收者: | (ID<GMSTileReceiver >) | 接收端 | |
requestTileForX:y:zoom:receiver: 會為 GMSTileOverlay 產生影像圖塊。
必須被子類別覆寫。指定 x
、y
和 zoom
的圖塊必須稍後傳遞至 receiver
。
如果此位置沒有適用的動態磚,請指定 kGMSTileLayerNoTile;或如果發生暫時性錯誤,可以稍後提供動態磚。
對這個方法的呼叫將在主執行緒上進行。請參閱GMSSyncTileLayer:基本類別,實作未在應用程式主執行緒上執行的封鎖圖塊圖層。
- (void) clearTileCache |
清除快取,讓系統再次要求所有圖塊。
屬性說明文件
- (GMSMapView*) map [read, write, assign] |
顯示這個 GMSTileOverlay 的地圖顯示。
設定這個屬性會將圖層加入地圖。設為 nil 即可從地圖中移除這個圖層。圖層在任何特定時間內最多僅能在一張地圖上啟用。
- (int) zIndex [read, write, assign] |
系統會將較高的 zIndex
值圖塊圖層繪製在較低的 zIndex
值圖塊圖層和疊加層上。
相同值會導致未定義繪製順序。
- (NSInteger) tileSize [read, write, assign] |
指定傳回的圖塊圖片偏好顯示的像素數量 (而非點)。
為獲得最佳效果,這個值應為自訂圖塊的邊緣長度。預設值為 256,也就是傳統的 Google 地圖圖塊。
如果值小於 128 點 (例如在 Retina 裝置上為 256 像素),成效可能不佳,因此不建議使用。
舉例來說,應用程式開發人員可能會想在 Retina 裝置上提供 Retina 圖塊 (512 像素邊緣長度),以便讓每個檢視畫面的圖塊數量與預設值 256 相同。
- (浮點) 不透明度 [read, write, assign] |
指定圖塊圖層的不透明度。
這可為資訊方塊圖片的 Alpha 管道提供調節係數。
- (BOOL) fadeIn [read, write, assign] |
用於指定圖塊是否應淡入,
預設值為「是」。