A ground overlay is an image that is fixed to a map. A ground overlay has the following properties:
- Position
- There are two ways to specify the position of the ground overlay:
- Using a location: You must provide an image of the ground overlay, a
LatLng
to which the anchor will be fixed and the width of the overlay (in meters). The anchor is, by default, 50% from the top of the image and 50% from the left of the image. This can be changed. You can optionally provide the height of the overlay (in meters). If you do not provide the height of the overlay, it will be automatically calculated to preserve the proportions of the image. - Using a Bounds: You must provide a
LatLngBounds
which will contain the image.
IllegalArgumentException
will be thrown when the ground overlay is added to the map. Furthermore, you must only specify the position using one of these methods in theGroundOverlayOptions
object; otherwise anIllegalStateException
will be thrown when specifying using a second method. - Using a location: You must provide an image of the ground overlay, a
- Image
- The image (as an
BitmapDescriptor
) to be used for this overlay. The image will be scaled to fit the position provided. You must specify an image before adding the ground overlay to the map; if not anIllegalArgumentException
will be thrown when it is added to the map. - Bearing
- The amount that the image should be rotated in a clockwise direction. The center of the rotation will be the image's anchor. This is optional and the default bearing is 0, i.e., the image is aligned so that up is north.
- zIndex
- The order in which this ground overlay is drawn with respect to other overlays (including
Polyline
s andTileOverlay
s, but notMarker
s). An overlay with a larger zIndex is drawn over overlays with smaller zIndexes. The order of overlays with the same zIndex value is arbitrary. This is optional and the default zIndex is 0. - Transparency
- Transparency of the ground overlay in the range
[0..1]
where0
means the overlay is opaque and1
means the overlay is fully transparent. If the specified bitmap is already partially transparent, the transparency of each pixel will be scaled accordingly (for example, if a pixel in the bitmap has an alpha value of 200 and you specify the transparency of the ground overlay as 0.25, then the pixel will be rendered on the screen with an alpha value of 150). Specification of this property is optional and the default transparency is 0 (opaque). - Visibility
- Indicates if the ground overlay is visible or invisible, i.e. whether it is drawn on the
map. An invisible ground overlay is not drawn, but retains all of its other properties.
This is optional and the default visibility is
true
, i.e., visible. - Clickability
- If you want to handle events fired when the user clicks the ground overlay, set this
property to
true
. You can change this value at any time. The default isfalse
. If this property is set totrue
, your app will receive notifications to theGoogleMap.OnGroundOverlayClickListener
registered throughGoogleMap.setOnGroundOverlayClickListener(GoogleMap.OnGroundOverlayClickListener)
. - Tag
- An
Object
associated with the ground overlay. For example, theObject
can contain data about what the ground overlay represents. This is easier than storing a separateMap<GroundOverlay, Object>
. As another example, you can associate aString
ID corresponding to the ID from a data set. Google Maps SDK for Android neither reads nor writes this property.
Methods in this class must be called on the Android UI thread. If not, an IllegalStateException
will be thrown at runtime.
Example
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));
Public Method Summary
boolean |
equals(Object other)
Tests if this
GroundOverlay is equal to another. |
float |
getBearing()
Gets the bearing of the ground overlay in degrees clockwise from north.
|
LatLngBounds |
getBounds()
Gets the bounds for the ground overlay.
|
float |
getHeight()
Gets the height of the ground overlay.
|
String |
getId()
Gets this ground overlay's id.
|
LatLng |
getPosition()
Gets the location of the anchor point.
|
Object |
getTag()
Gets the tag for the circle.
|
float |
getTransparency()
Gets the transparency of this ground overlay.
|
float |
getWidth()
Gets the width of the ground overlay.
|
float |
getZIndex()
Gets the zIndex of this ground overlay.
|
int |
hashCode()
|
boolean |
isClickable()
Gets the clickability of the ground overlay.
|
boolean |
isVisible()
Gets the visibility of this ground overlay.
|
void |
remove()
Removes this ground overlay from the map.
|
void |
setBearing(float bearing)
Sets the bearing of the ground overlay (the direction that the vertical axis of the ground
overlay points) in degrees clockwise from north.
|
void |
setClickable(boolean clickable)
Sets the clickability of the ground overlay.
|
void |
setDimensions(float width, float height)
Sets the dimensions of the ground overlay.
|
void |
setDimensions(float width)
Sets the width of the ground overlay.
|
void | |
void |
setPosition(LatLng latLng)
Sets the position of the ground overlay by changing the location of the anchor point.
|
void |
setPositionFromBounds(LatLngBounds bounds)
Sets the position of the ground overlay by fitting it to the given
LatLngBounds . |
void |
setTag(Object tag)
Sets the tag for the ground overlay.
|
void |
setTransparency(float transparency)
Sets the transparency of this ground overlay.
|
void |
setVisible(boolean visible)
Sets the visibility of this ground overlay.
|
void |
setZIndex(float zIndex)
Sets the zIndex of this ground overlay.
|
Inherited Method Summary
Public Methods
public boolean equals (Object other)
Tests if this GroundOverlay
is equal to another.
Parameters
other | an Object . |
---|
Returns
- true if both objects are the same object, that is, this == other.
public float getBearing ()
Gets the bearing of the ground overlay in degrees clockwise from north.
Returns
- the bearing of the ground overlay.
public LatLngBounds getBounds ()
Gets the bounds for the ground overlay. This ignores the rotation of the ground overlay.
Returns
- a
LatLngBounds
that contains the ground overlay, ignoring rotation.
public float getHeight ()
Gets the height of the ground overlay.
Returns
- the height of the ground overlay in meters.
public String getId ()
Gets this ground overlay's id. The id will be unique amongst all GroundOverlays on a map.
Returns
- this ground overlay's id.
public LatLng getPosition ()
Gets the location of the anchor point.
Returns
- the position on the map (a
LatLng
).
public Object getTag ()
Gets the tag for the circle.
Returns
- the tag if a tag was set with
setTag
;null
if no tag has been set.
public float getTransparency ()
Gets the transparency of this ground overlay.
Returns
- the transparency of this ground overlay.
public float getWidth ()
Gets the width of the ground overlay.
Returns
- the width of the ground overlay in meters.
public float getZIndex ()
Gets the zIndex of this ground overlay.
Returns
- the zIndex of the ground overlay.
public int hashCode ()
public boolean isClickable ()
Gets the clickability of the ground overlay. If the ground overlay is clickable, your app will
receive notifications to the GoogleMap.OnGroundOverlayClickListener
when the user
clicks the ground overlay. The event listener is registered through GoogleMap.setOnGroundOverlayClickListener(GoogleMap.OnGroundOverlayClickListener)
.
Returns
true
if the ground overlay is clickable; otherwise, returnsfalse
.
public boolean isVisible ()
Gets the visibility of this ground overlay. Note that this does not return whether the ground overlay is actually on screen, but whether it will be drawn if it is contained in the camera's viewport.
Returns
- this ground overlay's visibility.
public void remove ()
Removes this ground overlay from the map. After a ground overlay has been removed, the behavior of all its methods is undefined.
public void setBearing (float bearing)
Sets the bearing of the ground overlay (the direction that the vertical axis of the ground overlay points) in degrees clockwise from north. The rotation is performed about the anchor point.
Parameters
bearing | bearing in degrees clockwise from north |
---|
public void setClickable (boolean clickable)
Sets the clickability of the ground overlay. If the ground overlay is clickable, your app will
receive notifications to the GoogleMap.OnGroundOverlayClickListener
when the user
clicks the ground overlay. The event listener is registered through GoogleMap.setOnGroundOverlayClickListener(GoogleMap.OnGroundOverlayClickListener)
.
Parameters
clickable | New clickability setting for the ground overlay. |
---|
public void setDimensions (float width, float height)
Sets the dimensions of the ground overlay. The image will be stretched to fit the dimensions.
Parameters
width | width in meters |
---|---|
height | height in meters |
public void setDimensions (float width)
Sets the width of the ground overlay. The height of the ground overlay will be adapted accordingly to preserve aspect ratio.
Parameters
width | width in meters |
---|
public void setImage (BitmapDescriptor imageDescriptor)
Sets the image for the Ground Overlay. The new image will occupy the same bounds as the old image.
Parameters
imageDescriptor | the BitmapDescriptor to use for this ground overlay.
|
---|
public void setPosition (LatLng latLng)
Sets the position of the ground overlay by changing the location of the anchor point. Preserves all other properties of the image.
Parameters
latLng | a LatLng that is the new location to place the anchor point.
|
---|
public void setPositionFromBounds (LatLngBounds bounds)
Sets the position of the ground overlay by fitting it to the given LatLngBounds
. This
method will ignore the rotation (bearing) of the ground overlay when positioning it, but the
bearing will still be used when drawing it.
Parameters
bounds | a LatLngBounds in which to place the ground overlay
|
---|
public void setTag (Object tag)
Sets the tag for the ground overlay.
You can use this property to associate an arbitrary Object
with this ground overlay.
For example, the Object
can contain data about what the ground overlay represents. This
is easier than storing a separate Map<GroundOverlay, Object>
. As another example, you
can associate a String
ID corresponding to the ID from a data set. Google Maps SDK for
Android neither reads nor writes this property. It is your responsibility to call setTag(null)
to clear the tag when you no longer need it, to prevent memory leaks in your app.
Parameters
tag | if null, the tag is cleared. |
---|
public void setTransparency (float transparency)
Sets the transparency of this ground overlay. See the documentation at the top of this class for more information.
Parameters
transparency | a float in the range [0..1] where 0 means that the ground
overlay is opaque and 1 means that the ground overlay is transparent.
|
---|
public void setVisible (boolean visible)
Sets the visibility of this ground overlay. When not visible, a ground overlay is not drawn, but it keeps all of its other properties.
Parameters
visible | if true , then the ground overlay is visible; if false , it is not
|
---|
public void setZIndex (float zIndex)
Sets the zIndex of this ground overlay. See the documentation at the top of this class for more information.
Parameters
zIndex | the zIndex of this ground overlay |
---|