GroundOverlay

public final classGroundOverlayextendsObject

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, aLatLngto 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 aLatLngBounds which will contain the image.
You must specify the position of the ground overlay before it is added to the map, otherwise anIllegalArgumentException 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.
Image
The image (as anBitmapDescriptor) 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 (includingPolylines andTileOverlays, but notMarkers). 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]where 0means the overlay is opaque and1means 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 istrue,i.e., visible.
Clickability
If you want to handle events fired when the user clicks the ground overlay, set this property totrue.You can change this value at any time. The default is false.If this property is set totrue,your app will receive notifications to the GoogleMap.OnGroundOverlayClickListenerregistered through GoogleMap.setOnGroundOverlayClickListener(GoogleMap.OnGroundOverlayClickListener).
Tag
AnObjectassociated with the ground overlay. For example, the Objectcan contain data about what the ground overlay represents. This is easier than storing a separateMap<GroundOverlay, Object>.As another example, you can associate aStringID 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, anIllegalStateException 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(Objectother)
Tests if thisGroundOverlay 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
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
setImage(BitmapDescriptor imageDescriptor)
Sets the image for the Ground Overlay.
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(Objecttag)
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 booleanequals(Objectother)

Tests if thisGroundOverlay is equal to another.

Parameters
other anObject.
Returns
  • true if both objects are the same object, that is, this == other.

public floatgetBearing()

Gets the bearing of the ground overlay in degrees clockwise from north.

Returns
  • the bearing of the ground overlay.

publicLatLngBounds getBounds()

Gets the bounds for the ground overlay. This ignores the rotation of the ground overlay.

Returns
  • aLatLngBounds that contains the ground overlay, ignoring rotation.

public floatgetHeight()

Gets the height of the ground overlay.

Returns
  • the height of the ground overlay in meters.

publicStringgetId()

Gets this ground overlay's id. The id will be unique amongst all GroundOverlays on a map.

Returns
  • this ground overlay's id.

publicLatLng getPosition()

Gets the location of the anchor point.

Returns
  • the position on the map (aLatLng).

publicObjectgetTag()

Gets the tag for the circle.

Returns
  • the tag if a tag was set withsetTag;nullif no tag has been set.

public floatgetTransparency()

Gets the transparency of this ground overlay.

Returns
  • the transparency of this ground overlay.

public floatgetWidth()

Gets the width of the ground overlay.

Returns
  • the width of the ground overlay in meters.

public floatgetZIndex()

Gets the zIndex of this ground overlay.

Returns
  • the zIndex of the ground overlay.

public inthashCode()

public booleanisClickable()

Gets the clickability of the ground overlay. If the ground overlay is clickable, your app will receive notifications to the GoogleMap.OnGroundOverlayClickListenerwhen the user clicks the ground overlay. The event listener is registered through GoogleMap.setOnGroundOverlayClickListener(GoogleMap.OnGroundOverlayClickListener).

Returns
  • trueif the ground overlay is clickable; otherwise, returns false.

public booleanisVisible()

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 voidremove()

Removes this ground overlay from the map. After a ground overlay has been removed, the behavior of all its methods is undefined.

public voidsetBearing(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 voidsetClickable(boolean clickable)

Sets the clickability of the ground overlay. If the ground overlay is clickable, your app will receive notifications to the GoogleMap.OnGroundOverlayClickListenerwhen 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 voidsetDimensions(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 voidsetDimensions(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 voidsetImage(BitmapDescriptor imageDescriptor)

Sets the image for the Ground Overlay. The new image will occupy the same bounds as the old image.

Parameters
imageDescriptor theBitmapDescriptor to use for this ground overlay.

public voidsetPosition(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 aLatLng that is the new location to place the anchor point.

public voidsetPositionFromBounds(LatLngBounds bounds)

Sets the position of the ground overlay by fitting it to the givenLatLngBounds. 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 aLatLngBounds in which to place the ground overlay

public voidsetTag(Objecttag)

Sets the tag for the ground overlay.

You can use this property to associate an arbitraryObjectwith this ground overlay. For example, theObjectcan 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 StringID 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 ifnull,the tag is cleared.

public voidsetTransparency(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]where0means that the ground overlay is opaque and1means that the ground overlay is transparent.

public voidsetVisible(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 iftrue,then the ground overlay is visible; if false,it is not

public voidsetZIndex(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