TileOverlay

public final 类 TileOverlay扩展对象

图块叠加层是显示在基本地图图块之上的一组图像。这些图块可能是透明的,以便您向现有地图添加地图项。图块叠加层具有以下属性:

图块提供程序
TileProvider 提供图块叠加层中使用的图像。您必须先指定图块提供程序,然后才能将其添加到地图中。图块提供程序一经添加便无法更改;不过,您可以修改图块提供程序的行为,以便针对特定坐标返回不同的图片。如果图块提供程序提供的图块发生更改,您必须在之后调用 clearTileCache(),以确保不再渲染以前的图块。
Z-index
此图块叠加层相对于其他叠加层的绘制顺序(包括 GroundOverlayCirclePolylinePolygon,但不包括 Marker)。Z-index 较大的叠加层在 Z-index 较小的叠加层上绘制。Z-index 相同的叠加层可按任意顺序绘制。默认 ZIndex 为 0。
透明度
图块叠加层在 [0..1] 范围内的透明度,其中 0 表示叠加层不透明,1 表示叠加层完全透明。如果指定的位图已部分透明,则每个像素的透明度将相应地缩放(例如,如果位图中某个像素的 alpha 值为 200,而您将图块叠加层的透明度指定为 0.25,那么此像素将在屏幕上渲染并使用 150 的 alpha 值)。此属性的规范是可选的,默认透明度为 0(不透明)。
可见性
指示图块叠加层是否可见,即是否绘制在地图上。不可见的图块叠加层不会绘制,但会保留其所有其他属性。默认值为 true,即可见。

您只能在主线程上调用此类中的方法。否则,将会导致 IllegalStateException

图块坐标

请注意,世界是使用墨卡托投影法(请参阅维基百科)投影的,地图的左侧(西)侧对应于经度 -180 度,而右侧(东)侧则对应于经度 180 度。为使地图呈方形,地图的顶部(北)侧对应于 85.0511 度,而底部(南)侧的纬度则对应于 -85.0511 度。系统不会渲染此纬度范围以外的区域。

在每个缩放级别,地图都会分成图块,系统仅会下载并渲染与屏幕重叠的图块。每个图块都是方形的,且地图会按以下方式分为多个图块:

  • 缩放级别为 0 时,一个图块表示整个世界。该图块的坐标为 (x, y) = (0, 0)。
  • 缩放级别为 1 时,世界被分成 4 个图块,分布在 2 x 2 的网格中。
  • ...
  • 缩放级别为 N 时,世界分为 4N 个图块,这些图块排列在一个 2N x 2N 网格中。
请注意,相机支持的最小缩放级别(可能取决于各种因素)为 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 再次请求所有图块。
布尔值
equals(其他对象)
用于测试此 TileOverlay 是否等于另一个。
布尔值
getFadeIn()
获取叠加层图块是否应淡入。
字符串
getId()
获取此图块叠加层的 ID。
浮点数
getTransparency()
获取此图块叠加层的透明度。
浮点数
getZIndex()
获取此图块叠加层的 zIndex。
整型
布尔值
isVisible()
获取此图块叠加层的可见性。
void
remove()
从地图中移除此图块叠加层。
void
setFadeIn(布尔值 fadeIn)
设置叠加层图块是否应淡入。
void
setTransparency(浮点数透明度)
设置此图块叠加层的透明度。
void
setVisible(布尔值 visible)
用于设置此图块叠加层的可见性。
void
setZIndex(float zIndex)
设置此图块叠加层的 zIndex。

继承的方法摘要

公共方法

public void clearTileCache ()

清除图块缓存,以便从 TileProvider 再次请求所有图块。 调用此方法后,系统也会从地图上清除此图块叠加层中的当前图块。API 在内存中保留一个较小的图块缓存。如果您希望将图块缓存更长时间,应实现磁盘缓存。

public boolean 等于 (其他对象)

用于测试此 TileOverlay 是否等于另一个。

参数
其他 一个 Object
返回
  • 如果两个对象是同一个对象,则为“true”(即此值 ==“其他”)。

public boolean getFadeIn ()

获取叠加层图块是否应淡入。

返回
  • 如果图块将淡入,则为 true;如果淡入,则为 false

public String getId ()

获取此图块叠加层的 ID。

公共浮点 getTransparency ()

获取此图块叠加层的透明度。

返回
  • 此图块叠加层的透明度。

公共 浮点数 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)

用于设置此图块叠加层的可见性。在不可见时,图块叠加层不会绘制,但会保留其所有其他属性。默认情况下,图块叠加层处于可见状态。

参数
visible true - 使此叠加层可见;false - 使其不可见。

public void setZIndex (float zIndex)

设置此图块叠加层的 zIndex。如需了解详情,请参阅本课程顶部的文档。

参数
zIndex 此图块叠加层的 zIndex。