地面叠加层是固定在地图上的图像。地面叠加层具有以下特征 属性:
- 职位
- 您可以通过以下两种方式指定地面叠加层的位置:
- 使用位置:您必须提供地面叠加层的图片,即
LatLng
以及叠加层的宽度(以米为单位)。通过 默认情况下,锚点距离图片顶部 50%,距离图片左侧 50% 图片。此设置可以更改。您可以选择性地提供叠加层的高度(在 米)。如果您没有提供叠加层的高度, 以保持图片的比例 - 使用边界:您必须提供包含图片的
LatLngBounds
。
IllegalArgumentException
已添加到地图中。此外,您只能使用GroundOverlayOptions
对象中的方法;否则,在使用第二个方法指定时将会抛出IllegalStateException
。 - 使用位置:您必须提供地面叠加层的图片,即
- 图片
- 要用于此叠加层的图片(作为
BitmapDescriptor
)。图片将 缩放以适应提供的位置。必须先指定图片,然后才能添加地面 叠加到地图上;否则,系统将抛出IllegalArgumentException
已添加到地图中。 - 方向角
- 图片应顺时针方向旋转的幅度。该城市的中心 旋转角度将是图片的锚点。这是一个可选值,默认方位为 0,即 将图像对齐,使上北下南。
- zIndex
- 此地面叠加层相对于其他叠加层(包括
Polyline
和TileOverlay
,而不是Marker
)。带有 较大的 zIndex 绘制在具有较小 zIndex 的叠加层之上。带有 zIndex 值是任意的。这是可选操作,默认的 zIndex 为 0。 - 透明度
[0..1]
范围内的地面叠加层的透明度,其中0
表示 叠加层是不透明的,1
表示叠加层是完全透明的。如果指定的 位图已处于半透明状态,那么每个像素的透明度都会经过调整 (例如,如果位图中某个像素的 alpha 值为 200, 将地面叠加层的透明度指定为 0.25,那么该像素将在 alpha 值为 150 的屏幕)。此属性的规范是可选的, 默认的透明度为 0(不透明)。- 可见性
- 用于指示地面叠加层是可见还是不可见,即它是否绘制在
地图。不可见的地面叠加层不会绘制,但会保留其所有其他属性。
此字段是可选的,默认的可见性为
true
,即可见。 - 可点击性
- 如果您想要处理用户点击地面叠加层时触发的事件,请将此属性设为
属性设置为
true
。您可以随时更改此值。默认值为false
。如果此属性设置为true
,您的应用将会收到发送到GoogleMap.OnGroundOverlayClickListener
已注册至setOnGroundOverlayClickListener(GoogleMap.OnGroundOverlayClickListener)
。 - 标记
- 与地面叠加层关联的
Object
。例如,Object
可以 包含有关地面叠加层所表示内容的数据。这比将 单独的Map<GroundOverlay, Object>
。再举一例,您可以关联与数据集中的 ID 对应的String
ID。Google Maps SDK for Android 读取或写入此属性。
此类中的方法必须在 Android 界面线程上调用。否则,系统会在运行时抛出 IllegalStateException
。
示例
GoogleMap map = ...; // get a map.
BitmapDescriptor imageDescriptor = ...; // get an image.
LatLngBounds bounds = ...; // get a bounds
// Adds a ground overlay with 50% transparency.
GroundOverlay groundOverlay = map.addGroundOverlay(new GroundOverlayOptions()
.image(imageDescriptor)
.positionFromBounds(bounds)
.transparency(0.5));
公共方法摘要
boolean |
equals(其他对象)
测试此
GroundOverlay 是否等于另一个值。 |
float |
getBearing()
获取地面叠加层的方向角(以与北方所呈顺时针角度表示)。
|
LatLngBounds |
getBounds()
获取地面叠加层的边界。
|
float |
getHeight()
获取地面叠加层的高度。
|
字符串 |
getId()
获取此地面叠加层的 ID。
|
LatLng |
getPosition()
获取定位点的位置。
|
对象 |
getTag()
获取圆形的标记。
|
float |
getTransparency()
获取此地面叠加层的透明度。
|
float |
getWidth()
获取地面叠加层的宽度。
|
float |
getZIndex()
获取此地面叠加层的 ZIndex。
|
int |
hashCode()
|
boolean |
isClickable()
获取地面叠加层的可点击性。
|
boolean |
isVisible()
获取此地面叠加层的可见性。
|
void |
remove()
从地图中删除此地面叠加层。
|
void |
setBearing(浮动轴承)
设置地面叠加层的方向角(地面的纵轴的方向)
叠加层点)以与北方所呈顺时针角度表示。
|
void |
setClickable(布尔值,可点击)
设置地面叠加层的可点击性。
|
void |
setDimensions(浮动宽度、浮动高度)
设置地面叠加层的尺寸。
|
void |
setDimensions(浮动宽度)
设置地面叠加层的宽度。
|
void | |
void | |
void | |
void |
setTag(对象标记)
设置地面叠加层的标记。
|
void |
setTransparency(浮动透明度)
设置此地面叠加层的透明度。
|
void |
setVisible(boolean visible)
设置此地面叠加层的可见性。
|
void |
setZIndexsetZIndex(float zIndex)
设置此地面叠加层的 ZIndex。
|
继承的方法摘要
公共方法
公开 浮点数 getBearing ()
获取地面叠加层的方向角(以与北方所呈顺时针角度表示)。
返回
- 地面叠加层的方向角。
公开 浮点数 getHeight ()
获取地面叠加层的高度。
返回
- 地面叠加层的高度(以米为单位)。
公开 字符串 getId ()
获取此地面叠加层的 ID。该 ID 在地图上的所有 GroundOverlay 中是唯一的。
返回
- 该地面叠加层的 ID。
公开 对象 getTag ()
获取圆形的标记。
返回
- 如果通过
setTag
设置了标记,则为相应标记;如果未设置任何标记,则为null
。
公开 浮点数 getTransparency ()
获取此地面叠加层的透明度。
返回
- 用于调整此地面叠加层的透明度
公开 浮点数 getWidth ()
获取地面叠加层的宽度。
返回
- 地面叠加层的宽度(以米为单位)。
公开 浮点数 getZIndex ()
获取此地面叠加层的 ZIndex。
返回
- 地面叠加层的 zIndex。
公开 整数 hashCode ()
公开 布尔值 isClickable ()
用于获取地面叠加层的可点击性。如果地面叠加层可点击,您的应用将会
在以下情况下,系统会向 GoogleMap.OnGroundOverlayClickListener
发送通知:
点击地面叠加层。事件监听器通过 setOnGroundOverlayClickListener(GoogleMap.OnGroundOverlayClickListener)
注册。
返回
- 如果地面叠加层可点击,则为
true
;否则返回false
。
公开 布尔值 isVisible ()
获取此地面叠加层的可见性。请注意,这不会返回 但当它包含在镜头的 视口
返回
- 该地面叠加层的可见性。
公开 无效 删除 ()
从地图中删除此地面叠加层。删除地面叠加层后,该行为 都未定义。
公开 无效 setBearing (浮动轴承)
设置地面叠加层的方向角(地面的纵轴的方向) 叠加层点)以与北方所呈顺时针角度表示。围绕锚点执行旋转 。
参数
方向角 | 方位角与北方顺时针角度 |
---|
公开 无效 setClickable (可点击的布尔值)
设置地面叠加层的可点击性。如果地面叠加层可点击,您的应用将会
在以下情况下,系统会向 GoogleMap.OnGroundOverlayClickListener
发送通知:
点击地面叠加层。事件监听器通过 setOnGroundOverlayClickListener(GoogleMap.OnGroundOverlayClickListener)
注册。
参数
可点击 | 为地面叠加层新增了可点击性设置。 |
---|
公开 无效 setDimensions (浮动广告宽度, 浮动广告高度)
设置地面叠加层的尺寸。系统会拉伸图片以适应相应尺寸。
参数
width | 宽度(米) |
---|---|
高度 | 身高(米) |
公开 无效 setDimensions (浮动宽度)
设置地面叠加层的宽度。系统会调整地面叠加层的高度 相应地保留宽高比。
参数
width | 宽度(米) |
---|
公开 无效 setImage (BitmapDescriptor imageDescriptor)
设置地面叠加层的图像。新图片将占据与旧图片相同的边界 图片。
参数
imageDescriptor | 要用于此地面叠加层的 BitmapDescriptor 。
|
---|
公开 无效 setPositionFromBounds (LatLngBounds边界)
通过将地面叠加层适合指定的 LatLngBounds
来设置它的位置。本次
方法在定位地面叠加层时,会忽略其旋转(方向角),但
但系统在绘制时仍会使用方向角。
参数
bounds | 要在其中放置地面叠加层的 LatLngBounds
|
---|
公开 无效 setTag (对象标记)
设置地面叠加层的标记。
您可以使用此属性将任意 Object
与此地面叠加层相关联。
例如,Object
可以包含有关地面叠加层所表示内容的数据。本次
比存储单独的 Map<GroundOverlay, Object>
更简单。再举一个例子,
可以关联与数据集中的 ID 对应的 String
ID。Google Maps SDK for
Android 既不会读取也不会写入此属性。当您不再需要标记时,有责任调用 setTag(null)
以将其清除,以防止应用中的内存泄漏。
参数
标记 | 如果为 null,则清除该代码。 |
---|
公开 无效 setTransparency (浮动透明度)
设置此地面叠加层的透明度。请参阅此类顶部的文档 。
参数
透明度 | [0..1] 范围内的浮点数,其中 0 表示地面
叠加层是不透明的,1 表示地面叠加层是透明的。
|
---|
公开 无效 setVisible (布尔值可见)
设置此地面叠加层的可见性。不显示时,不会绘制地面叠加层, 同时还保留了它的所有其他属性
参数
可见 | 如果为 true ,则地面叠加层可见;如果 false ,则它不是
|
---|
公开 无效 setZIndex (浮动 zIndex)
设置此地面叠加层的 ZIndex。如需了解详情,请参阅此类顶部的文档 信息。
参数
zIndex | 该地面叠加层的 ZIndex |
---|