概览
GMSTileLayer是一个抽象类,用于允许在指定的GMSMapView上叠加自定义图片图块。
您不能直接初始化该类,而且子类必须实现 tileForX:y:zoom: 方法才能返回图块。
缩放级别为 0 时,整个世界是由单个图块覆盖的正方形,并且该图块的坐标 x
和 y
均为 0。缩放级别为 1 时,世界由 4 个图块覆盖,其中 x
为 0 或 1,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 点的值(例如,在 Retina 设备上为 256 像素)的效果可能不太理想,因此不推荐使用。
例如,应用开发者可能希望在视网膜设备上提供视网膜图块(边缘长度为 512 像素),以使每次视图的图块数量与非视网膜设备上的默认值 256 相同。
-(浮点数)不透明度 [read, write, assign] |
指定图块层的不透明度。
这会为图块图像的 Alpha 通道提供一个调节系数。
- (BOOL) fadeIn [read, write, assign] |
用于指定图块是否应淡入。
默认值为 YES。