This is the main class of the Google Maps SDK for Android and is the entry point for all methods
related to the map. You cannot instantiate a GoogleMap
object directly, rather, you must
obtain one from the getMapAsync()
method on a MapFragment
or MapView
that
you have added to your application.
Note: Similar to a View
object, a GoogleMap
can only be read
and modified from the Android UI thread. Calling GoogleMap
methods from another thread
will result in an exception.
You can adjust the viewpoint of a map by changing the position of the camera (as opposed to moving the map). You can use the map's camera to set parameters such as location, zoom level, tilt angle, and bearing. For more information, see Camera and View.
Developer Guide
To get started, read the Google Maps SDK for Android developer guide.
Nested Class Summary
@interface | GoogleMap.CameraPerspective | A CameraPerspective is a parameter given to the GoogleMap.followMyLocation(int) to specify the
orientation of the camera. |
|
interface | GoogleMap.CancelableCallback | A callback interface for reporting when a task is complete or canceled. | |
interface | GoogleMap.InfoWindowAdapter | Provides views for customized rendering of info windows. | |
interface | GoogleMap.OnCameraChangeListener |
This interface is deprecated.
Replaced by GoogleMap.OnCameraMoveStartedListener , GoogleMap.OnCameraMoveListener and
GoogleMap.OnCameraIdleListener . The order in which the deprecated onCameraChange
method will be called in relation to the methods in the new camera change listeners is
undefined.
|
|
interface | GoogleMap.OnCameraFollowLocationCallback | Callback interface to get updates related to camera entering or exiting follow mode. | |
interface | GoogleMap.OnCameraIdleListener | Callback interface for when camera movement has ended. | |
interface | GoogleMap.OnCameraMoveCanceledListener | Callback interface for when the camera's motion has been stopped or when the camera starts moving for a new reason. | |
interface | GoogleMap.OnCameraMoveListener | Callback interface for when the camera changes position. | |
interface | GoogleMap.OnCameraMoveStartedListener | Callback interface for when the camera motion starts. | |
interface | GoogleMap.OnCircleClickListener | Callback interface for when a circle is clicked. | |
interface | GoogleMap.OnGroundOverlayClickListener | Callback interface for when a ground overlay is clicked. | |
interface | GoogleMap.OnIndoorStateChangeListener | A listener for when the indoor state changes. | |
interface | GoogleMap.OnInfoWindowClickListener | Callback interface for click/tap events on a marker's info window. | |
interface | GoogleMap.OnInfoWindowCloseListener | Callback interface for close events on a marker's info window. | |
interface | GoogleMap.OnInfoWindowLongClickListener | Callback interface for when the user long presses on a marker's info window. | |
interface | GoogleMap.OnMapCapabilitiesChangedListener | Listener interface for when the map capabilities are changed. | |
interface | GoogleMap.OnMapClickListener | Callback interface for when the user taps on the map. | |
interface | GoogleMap.OnMapLoadedCallback | Callback interface for when the map has finished rendering. | |
interface | GoogleMap.OnMapLongClickListener | Callback interface for when the user long presses on the map. | |
interface | GoogleMap.OnMarkerClickListener | Defines signatures for methods that are called when a marker is clicked or tapped. | |
interface | GoogleMap.OnMarkerDragListener | Callback interface for drag events on markers. | |
interface | GoogleMap.OnMyLocationButtonClickListener | Callback interface for when the My Location button is clicked. | |
interface | GoogleMap.OnMyLocationChangeListener |
This interface is deprecated.
use RoadSnappedLocationProvider or
com.google.android.gms.location.FusedLocationProviderApi instead, depending on your needs.
FusedLocationProviderApi provides improved location finding and power usage over raw GPS.
RoadSnappedLocationProvider further aligns locations to the road network.
|
|
interface | GoogleMap.OnMyLocationClickListener | Callback interface for when the My Location dot (which signifies the user's location) is clicked. | |
interface | GoogleMap.OnPoiClickListener | A listener for POI taps. | |
interface | GoogleMap.OnPolygonClickListener | Callback interface for when a polygon is clicked. | |
interface | GoogleMap.OnPolylineClickListener | Callback interface for when a polyline is clicked. | |
interface | GoogleMap.SnapshotReadyCallback | Callback interface to notify when the snapshot has been taken. |
Constant Summary
String | DEMO_MAP_ID | Data-driven styling features are not available in the Navigation SDK. |
int | MAP_TYPE_HYBRID | Satellite maps with a transparent layer of major streets. |
int | MAP_TYPE_NONE | No base map tiles. |
int | MAP_TYPE_NORMAL | Basic maps. |
int | MAP_TYPE_SATELLITE | Satellite maps with no labels. |
int | MAP_TYPE_TERRAIN |
This constant is deprecated.
The use of this map type is deprecated during Navigation. Use ERROR(/MAP_TYPE_NORMAL) instead.
|
Public Method Summary
Circle | |
GroundOverlay | |
Marker | |
void |
addOnMapCapabilitiesChangedListener(GoogleMap.OnMapCapabilitiesChangedListener listener)
Adds a listener that's invoked when the map capabilities are changed.
|
Polygon | |
Polyline | |
TileOverlay | |
void |
animateCamera(CameraUpdate update, GoogleMap.CancelableCallback callback)
Animates the movement of the camera from the current position to the position defined in the
update and calls an optional callback on completion.
|
void |
animateCamera(CameraUpdate update)
Animates the movement of the camera from the current position to the position defined in the
update.
|
void |
animateCamera(CameraUpdate update, int durationMs, GoogleMap.CancelableCallback callback)
Moves the map according to the update with an animation over a specified duration, and calls an
optional callback on completion.
|
void |
clear()
Removes all markers, polylines, polygons, overlays, etc from the map.
|
void |
followMyLocation(int perspective, FollowMyLocationOptions options)
Sets the Camera to follow the location of the user, using the given
options . |
void |
followMyLocation(int perspective)
Sets the Camera to follow the location of the user.
|
CameraPosition |
getCameraPosition()
Gets the current position of the camera.
|
FeatureLayer |
getFeatureLayer(FeatureLayerOptions featureLayerOptions)
Data-driven styling features are not available in the Navigation SDK. |
IndoorBuilding |
getFocusedBuilding()
Gets the currently focused building.
|
MapCapabilities |
getMapCapabilities()
Returns the mapCapabilities instance.
|
int |
getMapColorScheme()
Returns the
MapColorScheme int that the map is currently rendering. |
int |
getMapType()
Gets the type of map that's currently displayed.
|
float |
getMaxZoomLevel()
Returns the maximum zoom level for the current camera position.
|
float |
getMinZoomLevel()
Returns the minimum zoom level.
|
Location |
getMyLocation()
This method is deprecated.
use
RoadSnappedLocationProvider or
com.google.android.gms.location.FusedLocationProviderApi instead, depending on your needs.
FusedLocationProviderApi provides improved location finding and power usage over raw GPS.
RoadSnappedLocationProvider further aligns locations to the road network.
|
Projection |
getProjection()
Returns a
Projection object that you can use to convert between screen coordinates and
latitude/longitude coordinates. |
UiSettings |
getUiSettings()
Gets the user interface settings for the map.
|
boolean |
isBuildingsEnabled()
Returns whether 3D buildings layer is enabled.
|
boolean |
isCameraFollowingMyLocation()
Returns whether the camera is following current location or not.
|
boolean |
isIndoorEnabled()
Gets whether indoor maps are currently enabled.
|
boolean |
isMyLocationEnabled()
Gets the status of the my-location layer.
|
boolean |
isTrafficEnabled()
Checks whether the map is drawing traffic data.
|
void |
moveCamera(CameraUpdate update)
Repositions the camera according to the instructions defined in the update.
|
void |
removeOnMapCapabilitiesChangedListener(GoogleMap.OnMapCapabilitiesChangedListener listener)
Removes a listener that's invoked when the map capabilities are changed.
|
void |
resetMinMaxZoomPreference()
Removes any previously specified upper and lower zoom bounds.
|
void |
setBuildingsEnabled(boolean enabled)
Turns the 3D buildings layer on or off.
|
void |
setContentDescription(String description)
Sets a contentDescription for the map.
|
boolean |
setIndoorEnabled(boolean enabled)
Sets whether indoor maps should be enabled.
|
void |
setInfoWindowAdapter(GoogleMap.InfoWindowAdapter adapter)
Sets a custom renderer for the contents of info windows.
|
void |
setLatLngBoundsForCameraTarget(LatLngBounds bounds)
Specifies a LatLngBounds to constrain the camera target, so that when users scroll and pan the
map, the camera target does not move outside these bounds.
|
void | |
void |
setMapColorScheme(int mapColorScheme)
Sets the map rendering color scheme to light, dark, or follow system settings after
initialization.
|
boolean | |
void |
setMapType(int type)
Sets the type of map tiles that should be displayed.
|
void |
setMaxZoomPreference(float maxZoomPreference)
Sets a preferred upper bound for the camera zoom.
|
void |
setMinZoomPreference(float minZoomPreference)
Sets a preferred lower bound for the camera zoom.
|
void |
setMyLocationEnabled(boolean enabled)
Enables or disables the my-location layer.
|
void | |
void |
setOnCameraIdleListener(GoogleMap.OnCameraIdleListener listener)
Sets a callback that is invoked when camera movement has ended.
|
void |
setOnCameraMoveCanceledListener(GoogleMap.OnCameraMoveCanceledListener listener)
Sets a callback that is invoked when camera motion is stopped or interrupted by a new type of
animation.
|
void |
setOnCameraMoveListener(GoogleMap.OnCameraMoveListener listener)
Sets a callback that is invoked repeatedly while the camera is in motion.
|
void |
setOnCameraMoveStartedListener(GoogleMap.OnCameraMoveStartedListener listener)
Sets a callback that's invoked when the camera starts moving or the reason for camera motion
has changed.
|
void |
setOnCircleClickListener(GoogleMap.OnCircleClickListener listener)
Sets a callback that's invoked when a circle is clicked.
|
void |
setOnFollowMyLocationCallback(GoogleMap.OnCameraFollowLocationCallback callback)
Sets a callback to get notified about the events related to the state of the camera when it's
following user's location.
|
void |
setOnGroundOverlayClickListener(GoogleMap.OnGroundOverlayClickListener listener)
Sets a callback that's invoked when a ground overlay is clicked.
|
void |
setOnIndoorStateChangeListener(GoogleMap.OnIndoorStateChangeListener listener)
Sets or clears the listener for indoor events.
|
void |
setOnInfoWindowClickListener(GoogleMap.OnInfoWindowClickListener listener)
Sets a callback that's invoked when a marker info window is clicked.
|
void |
setOnInfoWindowCloseListener(GoogleMap.OnInfoWindowCloseListener listener)
Sets a callback that's invoked when a marker's info window is closed.
|
void |
setOnInfoWindowLongClickListener(GoogleMap.OnInfoWindowLongClickListener listener)
Sets a callback that's invoked when a marker's info window is long pressed.
|
void |
setOnMapClickListener(GoogleMap.OnMapClickListener listener)
Sets a callback that's invoked when the map is tapped.
|
void |
setOnMapLoadedCallback(GoogleMap.OnMapLoadedCallback callback)
Sets a callback that's invoked when this map has finished rendering.
|
void |
setOnMapLongClickListener(GoogleMap.OnMapLongClickListener listener)
Sets a callback that's invoked when the map is long pressed.
|
void |
setOnMarkerClickListener(GoogleMap.OnMarkerClickListener listener)
Sets a callback that's invoked when a marker is clicked.
|
void |
setOnMarkerDragListener(GoogleMap.OnMarkerDragListener listener)
Sets a callback that's invoked when a marker is dragged.
|
void |
setOnMyLocationButtonClickListener(GoogleMap.OnMyLocationButtonClickListener listener)
Sets a callback that's invoked when the my location button is clicked.
|
void |
setOnMyLocationChangeListener(GoogleMap.OnMyLocationChangeListener listener)
This method is deprecated.
use
RoadSnappedLocationProvider or
com.google.android.gms.location.FusedLocationProviderApi instead, depending on your needs.
FusedLocationProviderApi provides improved location finding and power usage over raw GPS.
RoadSnappedLocationProvider further aligns locations to the road network.
|
void |
setOnMyLocationClickListener(GoogleMap.OnMyLocationClickListener listener)
Sets a callback that's invoked when the My Location dot (which signifies the user's location)
is clicked.
|
void |
setOnPoiClickListener(GoogleMap.OnPoiClickListener listener)
Sets a listener which will be triggered when a POI is clicked or tapped.
|
void |
setOnPolygonClickListener(GoogleMap.OnPolygonClickListener listener)
Sets a callback that's invoked when a polygon is clicked.
|
void |
setOnPolylineClickListener(GoogleMap.OnPolylineClickListener listener)
Sets a callback that's invoked when a polyline is clicked.
|
void |
setPadding(int left, int top, int right, int bottom)
Sets padding on the map.
|
void |
setTrafficEnabled(boolean enabled)
Turns the traffic layer on or off.
|
void | |
void | |
void |
stopAnimation()
Stops the camera animation if there is one in progress.
|
Inherited Method Summary
Constants
public static final String DEMO_MAP_ID
Data-driven styling features are not available in the Navigation SDK. This constant exists
here only for compile-time compatibility with com.google.android.gms:play-services-maps
.
Returns the DEMO_MAP_ID
, which can be used for code samples which require a Map ID.
This Map ID is not intended for use in production applications and cannot be used for features
which require cloud configuration (such as Cloud-based
maps styling).
Note: Usage of DEMO_MAP_ID
triggers a map load charge against the Dynamic Maps
SKU for Android and iOS. For more information, see Google Maps
Platform Pricing
public static final int MAP_TYPE_HYBRID
Satellite maps with a transparent layer of major streets.
public static final int MAP_TYPE_NONE
No base map tiles.
public static final int MAP_TYPE_NORMAL
Basic maps.
public static final int MAP_TYPE_SATELLITE
Satellite maps with no labels.
public static final int MAP_TYPE_TERRAIN
This constant is deprecated.
The use of this map type is deprecated during Navigation. Use ERROR(/MAP_TYPE_NORMAL)
instead.
Terrain maps.
Public Methods
public Circle addCircle (CircleOptions options)
Add a circle to this map.
Parameters
options | A circle options object that defines how to render the Circle |
---|
Returns
- The
Circle
object that is added to the map
public GroundOverlay addGroundOverlay (GroundOverlayOptions options)
Adds an image to this map.
Parameters
options | A ground-overlay options object that defines how to render the overlay. Options must have an image (AnchoredBitmap) and position specified. |
---|
Returns
- The
GroundOverlay
that was added to the map.
Throws
IllegalArgumentException | if either the image or the position is unspecified in the options. |
---|
public Marker addMarker (MarkerOptions options)
Adds a marker to this map.
The marker's icon is rendered on the map at the location Marker.position. Clicking the marker centers the camera on the marker. If Marker.title is defined, the map shows an info box with the marker's title and snippet. If the marker is draggable, long-clicking and then dragging the marker moves it.
If an AdvancedMarkerOptions
is passed to this method then an AdvancedMarker
will be created and returned as a Marker.
Parameters
options | A marker options object that defines how to render the marker. |
---|
Returns
- The
Marker
that was added to the map.
public void addOnMapCapabilitiesChangedListener (GoogleMap.OnMapCapabilitiesChangedListener listener)
Adds a listener that's invoked when the map capabilities are changed.
Map capabilities are not available in the Navigation SDK. This method exists here only for
compile-time compatibility with com.google.android.gms:play-services-maps
.
Parameters
listener |
---|
public Polygon addPolygon (PolygonOptions options)
Adds a polygon to this map.
Parameters
options | A polygon options object that defines how to render the Polygon. |
---|
Returns
- The
Polygon
object that is added to the map.
public Polyline addPolyline (PolylineOptions options)
Adds a polyline to this map.
Parameters
options | A polyline options object that defines how to render the Polyline. |
---|
Returns
- The
Polyline
object that was added to the map.
public TileOverlay addTileOverlay (TileOverlayOptions options)
Adds a tile overlay to this map. See TileOverlay
for more information.
Note that unlike other overlays, if the map is recreated, tile overlays are not automatically restored and must be re-added manually.
Parameters
options | A tile-overlay options object that defines how to render the overlay. Options
must have a TileProvider specified,
otherwise an IllegalArgumentException will be thrown. |
---|
Returns
- The
TileOverlay
that was added to the map.
Throws
IllegalArgumentException | if the TileProvider is unspecified in the options.
|
---|
public void animateCamera (CameraUpdate update, GoogleMap.CancelableCallback callback)
Animates the movement of the camera from the current position to the position defined in the
update and calls an optional callback on completion. See CameraUpdateFactory
for a set
of updates.
During the animation, a call to getCameraPosition()
returns an intermediate
location of the camera.
Parameters
update | The change that should be applied to the camera. |
---|---|
callback | The callback to invoke from the Android UI thread when the animation stops. If
the animation completes normally, GoogleMap.CancelableCallback.onFinish() is called;
otherwise, GoogleMap.CancelableCallback.onCancel() is called. Do not update or animate the
camera from within GoogleMap.CancelableCallback.onCancel() .
|
public void animateCamera (CameraUpdate update)
Animates the movement of the camera from the current position to the position defined in the
update. During the animation, a call to getCameraPosition()
returns an intermediate
location of the camera.
See CameraUpdateFactory
for a set of updates.
Parameters
update | The change that should be applied to the camera. |
---|
public void animateCamera (CameraUpdate update, int durationMs, GoogleMap.CancelableCallback callback)
Moves the map according to the update with an animation over a specified duration, and calls an
optional callback on completion. See CameraUpdateFactory
for a set of updates.
If getCameraPosition()
is called during the animation, it will return the current
location of the camera in flight.
Parameters
update | |
---|---|
durationMs | The duration of the animation in milliseconds. This must be strictly
positive, otherwise an IllegalArgumentException will be thrown.
|
callback | An optional callback to be notified from the Android UI thread when the
animation stops. If the animation stops due to its natural completion, the callback will be
notified with GoogleMap.CancelableCallback.onFinish() . If the animation stops due to
interruption by a later camera movement or a user gesture, GoogleMap.CancelableCallback.onCancel() will be called. The callback should not attempt to move or
animate the camera in its cancellation method. If a callback isn't required, leave it as
null . |
public void clear ()
Removes all markers, polylines, polygons, overlays, etc from the map.
public void followMyLocation (int perspective, FollowMyLocationOptions options)
Sets the Camera to follow the location of the user, using the given options
. This is
typically called when starting turn-by-turn guidance to enter a "tilted" driving view or when
changing the zoom level during turn-by-turn guidance. Calling moveCamera(CameraUpdate)
or animateCamera(CameraUpdate)
will exit the follow mode. Navigator
must be initialized before calling this
method.
Parameters
perspective | |
---|---|
options | the FollowMyLocationOptions the camera should use when following the
location of the user. |
Throws
IllegalStateException | if called without initializing Navigator .
|
---|
public void followMyLocation (int perspective)
Sets the Camera to follow the location of the user. This is typically called when starting
turn-by-turn guidance to enter a "tilted" driving view. Calling moveCamera(CameraUpdate)
or animateCamera(CameraUpdate)
will exit the follow mode.
Navigator
must be initialized before calling
this method.
Parameters
perspective | the GoogleMap.CameraPerspective the camera should use when following. |
---|
Throws
IllegalStateException | if called without initializing Navigator .
|
---|
public CameraPosition getCameraPosition ()
Gets the current position of the camera.
The CameraPosition
returned is a snapshot of the current position, and will not
automatically update when the camera moves.
For more information about changing the camera's position, see Camera and View.
Returns
- The current position of the Camera.
public FeatureLayer getFeatureLayer (FeatureLayerOptions featureLayerOptions)
Data-driven styling features are not available in the Navigation SDK. This method exists
here only for compile-time compatibility with com.google.android.gms:play-services-maps
.
Returns a feature layer of the specified type. Feature layers must be configured in the Cloud Console.
If a layer of the specified type does not exist on this map, or if data-driven styling is
not enabled, the resulting layer's FeatureLayer.isAvailable()
will be false, and will
not respond to any calls.
Parameters
featureLayerOptions | A feature layer options object that defines which feature layer should be requested. |
---|
Returns
- The
FeatureLayer
for the requested options.
public IndoorBuilding getFocusedBuilding ()
Gets the currently focused building.
Returns
- The current focused building or
null
if no building is focused.
public MapCapabilities getMapCapabilities ()
Returns the mapCapabilities instance.
Map capabilities are not available in the Navigation SDK. This method exists here only for
compile-time compatibility with com.google.android.gms:play-services-maps
.
public int getMapType ()
Gets the type of map that's currently displayed. See MAP_TYPE_NORMAL
, MAP_TYPE_SATELLITE
, MAP_TYPE_TERRAIN
for possible values.
Returns
- The map type.
public float getMaxZoomLevel ()
Returns the maximum zoom level for the current camera position. This takes into account what map type is currently being used, e.g., satellite or terrain may have a lower max zoom level than the base map tiles.
For more information about changing the camera's zoom level, see Camera and View.
Returns
- The maximum zoom level available at the current camera position.
public float getMinZoomLevel ()
Returns the minimum zoom level. This is the same for every location (unlike the maximum zoom level) but may vary between devices and map sizes.
For more information about changing the camera's zoom level, see Camera and View.
Returns
- The minimum zoom level available.
public Location getMyLocation ()
This method is deprecated.
use RoadSnappedLocationProvider
or
com.google.android.gms.location.FusedLocationProviderApi instead, depending on your needs.
FusedLocationProviderApi provides improved location finding and power usage over raw GPS.
RoadSnappedLocationProvider further aligns locations to the road network.
Returns the currently displayed user location, or null
if there is no location data
available.
This method can return either the user's raw location or their road snapped location.
Returns
- The currently displayed
user location
.
Throws
IllegalStateException | if the my-location layer is not enabled. |
---|
public Projection getProjection ()
Returns a Projection
object that you can use to convert between screen coordinates and
latitude/longitude coordinates.
The Projection
returned is a snapshot of the current projection, and will not
automatically update when the camera moves. As this operation is expensive, you should get the
projection only once per screen. Google Maps uses the Mercator projection to create its maps
from geographic data and convert points on the map into geographic coordinates.
Returns
- The
Projection
of the map in its current state.
public UiSettings getUiSettings ()
Gets the user interface settings for the map.
Returns
- The
UiSettings
for this map.
public boolean isBuildingsEnabled ()
Returns whether 3D buildings layer is enabled.
Returns
true
if buildings are enabled;false
otherwise.
public boolean isCameraFollowingMyLocation ()
Returns whether the camera is following current location or not.
Returns
true
if camera is following location;false
otherwise.
public boolean isIndoorEnabled ()
Gets whether indoor maps are currently enabled.
Returns
true
if indoor maps are enabled;false
if indoor maps are disabled;
public boolean isMyLocationEnabled ()
Gets the status of the my-location layer.
Returns
true
if the my-location layer is enabled;false
otherwise.
public boolean isTrafficEnabled ()
Checks whether the map is drawing traffic data. This is subject to the availability of traffic data.
Returns
true
if traffic data is enabled;false
otherwise.
public void moveCamera (CameraUpdate update)
Repositions the camera according to the instructions defined in the update. The move is
instantaneous, and a subsequent getCameraPosition()
will reflect the new position. See
CameraUpdateFactory
for a set of updates.
Parameters
update | The change that should be applied to the camera. |
---|
public void removeOnMapCapabilitiesChangedListener (GoogleMap.OnMapCapabilitiesChangedListener listener)
Removes a listener that's invoked when the map capabilities are changed.
Map capabilities are not available in the Navigation SDK. This method exists here only for
compile-time compatibility with com.google.android.gms:play-services-maps
.
Parameters
listener |
---|
public void resetMinMaxZoomPreference ()
Removes any previously specified upper and lower zoom bounds.
public void setBuildingsEnabled (boolean enabled)
Turns the 3D buildings layer on or off.
Parameters
enabled | true to enable the 3D buildings layer; false to disable 3D
buildings.
|
---|
public void setContentDescription (String description)
Sets a contentDescription for the map.
This is used to provide a spoken description of the map in accessibility mode. The default value is "Google Map"
Parameters
description | a string to use as a description. |
---|
public boolean setIndoorEnabled (boolean enabled)
Sets whether indoor maps should be enabled. Currently, indoor maps can only be shown on one map
at a time and by default, this is the first map added to your application. To enable indoor
maps on another map, you must first disable indoor maps on the original map. If you try to
enable indoor maps when it is enabled on another map, nothing will happen and this will return
false
. When Indoor is not enabled for a map, all methods related to indoor will return
null
, or false
.
Parameters
enabled | true to try to enable indoor maps; false to disable indoor maps. |
---|
Returns
- whether it was possible to enable indoor maps.
public void setInfoWindowAdapter (GoogleMap.InfoWindowAdapter adapter)
Sets a custom renderer for the contents of info windows.
Like the map's event listeners, this state is not serialized with the map. If the map gets re-created (e.g., due to a configuration change), you must ensure that you call this method again in order to preserve the customization.
Parameters
adapter | The adapter to use for info window contents, or null to use the default
content rendering in info windows.
|
---|
public void setLatLngBoundsForCameraTarget (LatLngBounds bounds)
Specifies a LatLngBounds to constrain the camera target, so that when users scroll and pan the map, the camera target does not move outside these bounds.
Set to null to clear the bounding box completely. The new bounds replaces any previously specified bounding box.
When the LatLngBounds changes, the SDK adjusts all later camera updates to respect those bounds if possible. Note that there are technical considerations that may prevent the SDK from keeping the camera target strictly within the bounds. For example, floating point precision rounding errors or a very low zoom level.
Parameters
bounds | The bounds to constrain the camera target within. |
---|
public void setLocationSource (LocationSource source)
Replaces the location source of the my-location layer.
Location sources do not function in the Navigation SDK. This method exists here only for
compile-time compatibility with com.google.android.gms:play-services-maps
.
Parameters
source | A location source to use in the my-location layer. Set to null to use the
default location source.
|
---|
public void setMapColorScheme (int mapColorScheme)
Sets the map rendering color scheme to light, dark, or follow system settings after initialization.
Does not save state after the map is destroyed. Reinitialize via GoogleMapOptions.mapColorScheme(int)
or setMapColorScheme(int)
.
Parameters
mapColorScheme | to denote which pre-selected color scheme. |
---|
public boolean setMapStyle (MapStyleOptions style)
Sets the styling of the base map.
Using the style options, you can apply custom styles to features and elements on the map.
See MapStyleOptions
for style definition details.
Set to null to clear any previous custom styling.
Parameters
style |
---|
Returns
true
if the style was successfully parsed;false
if problems were detected with theMapStyleOptions
, including, e.g. unparsable styling JSON, unrecognized feature type, unrecognized element type, or invalid styler keys. If the return value isfalse
, the current style is left unchanged.
public void setMapType (int type)
Sets the type of map tiles that should be displayed. The allowable values are:
MAP_TYPE_NORMAL
: Basic map.MAP_TYPE_SATELLITE
: Satellite imagery.MAP_TYPE_HYBRID
: Satellite imagery with roads and labels.MAP_TYPE_TERRAIN
: Topographic data.MAP_TYPE_NONE
: No base map tiles.
Using MAP_TYPE_TERRAIN
during Navigation is deprecated and will be removed in a
future release.
Parameters
type | The type of map to display. |
---|
public void setMaxZoomPreference (float maxZoomPreference)
Sets a preferred upper bound for the camera zoom.
When the maximum zoom changes, the SDK adjusts all later camera updates to respect that maximum if possible. Note that there are technical considerations that may prevent the SDK from allowing users to zoom too deep into the map. For example, satellite or terrain may have a lower maximum zoom than the base map tiles.
The SDK resolves any conflicts in the minimum and maximum values. If you set the minimum zoom to a higher zoom level than the current maximum, then the SDK uses the new minimum value for both minimum and maximum. If you set the maximum zoom to a lower zoom level than the minimum, the SDK uses the new maximum value for both minimum and maximum. For example: Assume the current minimum zoom is 8 and the maximum is 14. Then you set the maximum zoom to 6. The SDK uses a minimum zoom of 6 and a maximum zoom of 6.
Parameters
maxZoomPreference | The preferred upper bound. |
---|
public void setMinZoomPreference (float minZoomPreference)
Sets a preferred lower bound for the camera zoom.
When the minimum zoom changes, the SDK adjusts all later camera updates to respect that minimum if possible. Note that there are technical considerations that may prevent the SDK from allowing users to zoom too low.
The SDK resolves any conflicts in the minimum and maximum values. If you set the minimum zoom to a higher zoom level than the current maximum, then the SDK uses the new minimum value for both minimum and maximum. If you set the maximum zoom to a lower zoom level than the minimum, the SDK uses the new maximum value for both minimum and maximum. For example: Assume the current minimum zoom is 8 and the maximum is 14. Then you set the minimum zoom to 16. The SDK uses a minimum zoom of 16 and a maximum zoom of 16.
Parameters
minZoomPreference | The preferred lower bound. |
---|
public void setMyLocationEnabled (boolean enabled)
Enables or disables the my-location layer.
While enabled and the location is available, the my-location layer continuously draws an indication of a user's current location and bearing, and displays UI controls that allow a user to interact with their location (for example, to enable or disable camera tracking of their location and bearing).
In order to use the my-location-layer feature you need to request permission for either
ACCESS_COARSE_LOCATION
or ACCESS_FINE_LOCATION
.
Parameters
enabled | true to enable; false to disable. |
---|
Throws
SecurityException | if location permission is not granted. |
---|
public void setOnCameraChangeListener (GoogleMap.OnCameraChangeListener listener)
This method is deprecated.
Replaced by setOnCameraMoveStartedListener(GoogleMap.OnCameraMoveStartedListener)
, setOnCameraMoveListener(GoogleMap.OnCameraMoveListener)
, setOnCameraMoveCanceledListener(GoogleMap.OnCameraMoveCanceledListener)
and setOnCameraIdleListener(GoogleMap.OnCameraIdleListener)
.
Sets a callback that's invoked when the camera changes.
Parameters
listener | The callback that's invoked when the camera changes. To unset the callback, use
null . |
---|
public void setOnCameraIdleListener (GoogleMap.OnCameraIdleListener listener)
Sets a callback that is invoked when camera movement has ended.
Parameters
listener | The callback that's invoked. To unset the callback, use null .
|
---|
public void setOnCameraMoveCanceledListener (GoogleMap.OnCameraMoveCanceledListener listener)
Sets a callback that is invoked when camera motion is stopped or interrupted by a new type of animation.
Parameters
listener | The callback that's invoked. To unset the callback, use null . Do not
update or animate the camera from within onCameraMoveCanceled() .
|
---|
public void setOnCameraMoveListener (GoogleMap.OnCameraMoveListener listener)
Sets a callback that is invoked repeatedly while the camera is in motion. The callback may be invoked as often as once every frame and should not perform expensive operations.
Parameters
listener | The callback that's invoked. To unset the callback, use null .
|
---|
public void setOnCameraMoveStartedListener (GoogleMap.OnCameraMoveStartedListener listener)
Sets a callback that's invoked when the camera starts moving or the reason for camera motion has changed.
Parameters
listener | The callback that's invoked. To unset the callback, use null . Do not
update or animate the camera from within onCameraMoveStarted() .
|
---|
public void setOnCircleClickListener (GoogleMap.OnCircleClickListener listener)
Sets a callback that's invoked when a circle is clicked.
Parameters
listener | The callback that's invoked when a circle is clicked. To unset the callback,
use null .
|
---|
public void setOnFollowMyLocationCallback (GoogleMap.OnCameraFollowLocationCallback callback)
Sets a callback to get notified about the events related to the state of the camera when it's following user's location.
Parameters
callback | the instance of GoogleMap.OnCameraFollowLocationCallback . To unset the callback,
use null .
|
---|
public void setOnGroundOverlayClickListener (GoogleMap.OnGroundOverlayClickListener listener)
Sets a callback that's invoked when a ground overlay is clicked.
Parameters
listener | The callback that's invoked when a ground overlay is clicked. To unset the
callback, use null .
|
---|
public void setOnIndoorStateChangeListener (GoogleMap.OnIndoorStateChangeListener listener)
Sets or clears the listener for indoor events. Only one listener can ever be set. Setting a new listener will remove the previous listener.
Parameters
listener | the listener for indoor events if non-null; otherwise, clears the listener |
---|
public void setOnInfoWindowClickListener (GoogleMap.OnInfoWindowClickListener listener)
Sets a callback that's invoked when a marker info window is clicked.
Parameters
listener | The callback that's invoked when a marker info window is clicked. To unset the
callback, use null .
|
---|
public void setOnInfoWindowCloseListener (GoogleMap.OnInfoWindowCloseListener listener)
Sets a callback that's invoked when a marker's info window is closed.
Parameters
listener | The callback that's invoked when a marker's info window is closed. To unset the
callback, use null .
|
---|
public void setOnInfoWindowLongClickListener (GoogleMap.OnInfoWindowLongClickListener listener)
Sets a callback that's invoked when a marker's info window is long pressed.
Parameters
listener | The callback that's invoked when a marker's info window is long pressed. To
unset the callback, use null .
|
---|
public void setOnMapClickListener (GoogleMap.OnMapClickListener listener)
Sets a callback that's invoked when the map is tapped.
Parameters
listener | The callback that's invoked when the map is tapped. To unset the callback, use
null .
|
---|
public void setOnMapLoadedCallback (GoogleMap.OnMapLoadedCallback callback)
Sets a callback that's invoked when this map has finished rendering. The callback will only be invoked once.
If this method is called when the map is fully rendered, the callback will be invoked immediately. This event will not fire if the map never loads due to connectivity issues, or if the map is continuously changing and never completes loading due to the user constantly interacting with the map.
Parameters
callback | The callback invoked when the map has finished rendering. To unset the
callback, use null .
|
---|
public void setOnMapLongClickListener (GoogleMap.OnMapLongClickListener listener)
Sets a callback that's invoked when the map is long pressed.
Parameters
listener | The callback that's invoked when the map is long pressed. To unset the
callback, use null .
|
---|
public void setOnMarkerClickListener (GoogleMap.OnMarkerClickListener listener)
Sets a callback that's invoked when a marker is clicked.
Parameters
listener | The callback that's invoked when a marker is clicked. To unset the callback,
use null .
|
---|
public void setOnMarkerDragListener (GoogleMap.OnMarkerDragListener listener)
Sets a callback that's invoked when a marker is dragged.
Parameters
listener | The callback that's invoked on marker drag events. To unset the callback, use
null .
|
---|
public void setOnMyLocationButtonClickListener (GoogleMap.OnMyLocationButtonClickListener listener)
Sets a callback that's invoked when the my location button is clicked.
If the listener
returns true
, the event is consumed and the default behavior
will not occur. If it returns false
, the default behavior will occur (i.e. The camera
moves such that it is centered on the user's location).
Parameters
listener | The callback that's invoked when the My Location button is clicked. |
---|
public void setOnMyLocationChangeListener (GoogleMap.OnMyLocationChangeListener listener)
This method is deprecated.
use RoadSnappedLocationProvider
or
com.google.android.gms.location.FusedLocationProviderApi instead, depending on your needs.
FusedLocationProviderApi provides improved location finding and power usage over raw GPS.
RoadSnappedLocationProvider further aligns locations to the road network.
Sets a callback that's invoked when the My Location dot changes location.
This method can return either the user's raw location or their road snapped location.
Parameters
listener | The callback that's invoked when the My Location dot changes. |
---|
public void setOnMyLocationClickListener (GoogleMap.OnMyLocationClickListener listener)
Sets a callback that's invoked when the My Location dot (which signifies the user's location) is clicked.
Parameters
listener | The callback that's invoked when the My Location dot is clicked. |
---|
public void setOnPoiClickListener (GoogleMap.OnPoiClickListener listener)
Sets a listener which will be triggered when a POI is clicked or tapped.
Pass null
to clear the listener.
Parameters
listener |
---|
public void setOnPolygonClickListener (GoogleMap.OnPolygonClickListener listener)
Sets a callback that's invoked when a polygon is clicked.
Parameters
listener | The callback that's invoked when a polygon is clicked. To unset the callback,
use null .
|
---|
public void setOnPolylineClickListener (GoogleMap.OnPolylineClickListener listener)
Sets a callback that's invoked when a polyline is clicked.
Parameters
listener | The callback that's invoked when a polyline is clicked. To unset the callback,
use null .
|
---|
public void setPadding (int left, int top, int right, int bottom)
Sets padding on the map.
This method allows you to define a visible region on the map, to signal to the map that portions of the map around the edges may be obscured, by setting padding on each of the four edges of the map. Map functions will be adapted to the padding. For example, the zoom controls, compass, copyright notices and Google logo will be moved to fit inside the defined region, and camera movements will be relative to the center of the visible region.
If you have fetched the Navigator
, then the
top padding value only applies when the header is disabled (see NavigationView.setHeaderEnabled(boolean)
), and the bottom
padding only applies when the ETA card is disabled (see NavigationView.setEtaCardEnabled(boolean)
). The left and right
padding values apply at all times.
Parameters
left | the number of pixels of padding to be added on the left of the map. |
---|---|
top | the number of pixels of padding to be added on the top of the map. |
right | the number of pixels of padding to be added on the right of the map. |
bottom | the number of pixels of padding to be added on the bottom of the map. |
public void setTrafficEnabled (boolean enabled)
Turns the traffic layer on or off.
Parameters
enabled |
---|
public void snapshot (GoogleMap.SnapshotReadyCallback callback, Bitmap bitmap)
Takes a snapshot of the map.
This method is equivalent to snapshot(SnapshotReadyCallback)
but lets you provide a
preallocated Bitmap
. If the bitmap does not match the current dimensions of the map,
another bitmap will be allocated that fits the map's dimensions.
Although in most cases the object passed by the callback method is the same as the one given in the parameter to this method, in some cases the returned object can be different (e.g., if the view's dimensions have changed by the time the snapshot is actually taken). Thus, you should only trust the content of the bitmap passed by the callback method.
Parameters
callback | Callback method invoked when the snapshot is taken. |
---|---|
bitmap | A preallocated bitmap. If null , behaves like snapshot(SnapshotReadyCallback) .
|
public void snapshot (GoogleMap.SnapshotReadyCallback callback)
Takes a snapshot of the map.
You can use snapshots within your application when an interactive map would be difficult, or
impossible, to use. For example, images produced with the snapshot()
method can be used
to display a thumbnail of the map in your app, or a snapshot in the notification center.
Note: Images of the map must not be transmitted to your servers, or otherwise used outside of the application. If you need to send a map to another application or user, send data that allows them to reconstruct the map for the new user instead of a snapshot.
Parameters
callback | Callback method invoked when the snapshot is taken. |
---|
public void stopAnimation ()
Stops the camera animation if there is one in progress. When the method is called, the camera stops moving immediately and remains in that position.