概览
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 * | map |
显示此 GMSTileOverlay 的地图。 | |
int | zIndex |
值较高的 zIndex 图块层会显示在较低 zIndex 值的图块层和叠加层之上。 | |
NSInteger | tileSize |
指定返回的图块图像首选显示的像素数(而不是点数)。 | |
float | 不透明度 |
指定图块层的不透明度。 | |
BOOL | fadeIn |
指定图块是否应淡入。 |
成员函数文档
- (void) requestTileForX: | (NSUInteger) | x | |
y: | (NSUInteger) | 年 | |
缩放: | (NSUInteger) | 缩放 | |
接收者: | (id< GMSTileReceiver >) | 接收器 | |
requestTileForX:y:zoom:receiver:为 GMSTileOverlay 生成图像图块。
它必须被子类替换。稍后必须将给定 x
、y
和 zoom
的图块传递给 receiver
。
指定 kGMSTileLayerNoTile 表示该位置没有可用的图块;如果发生暂时性错误,稍后图块可用,则指定 nil。
系统将在主线程上调用此方法。有关实现不在应用的主线程上运行的阻塞图块层的基类,请参阅GMSSyncTileLayer。
- (void) clearTileCache |
清除缓存,以便再次请求所有图块。
属性说明
- (GMSMapView*)地图 [read, write, assign] |
显示此 GMSTileOverlay 的地图。
设置该属性会将图层添加到地图中。将其设置为 nil 可从地图中移除该图层。在任何给定时间,一个图层最多只能在一个地图上处于活动状态。
-(整数)zIndex [read, write, assign] |
值较高的 zIndex
图块层会显示在较低 zIndex
值的图块层和叠加层之上。
相等的值会导致绘制顺序未定义。
- (NSInteger) tileSize [read, write, assign] |
指定返回的图块图像首选显示的像素数(而不是点数)。
为获得最佳效果,此值应为自定义图块的边缘长度。默认值为 256,这是 Google 地图图块的传统大小。
小于等于 128 点的值(例如,在视网膜设备上显示 256 像素)的效果可能不太理想,因此不推荐使用。
例如,应用开发者可能希望在视网膜设备上提供视网膜图块(边缘长度为 512 像素),以使每次视图的图块数量与非视网膜设备上的默认值 256 相同。
-(浮点数)不透明度 [read, write, assign] |
指定图块层的不透明度。
这会为图块图像的 Alpha 通道提供一个调节系数。
- (BOOL) fadeIn [read, write, assign] |
指定图块是否应淡入。
默认值为 YES。