The Maps SDK for Android can serve a bitmap image of a map, offering limited interactivity to the user. This is called a lite mode map.
Code samples
The ApiDemos repository on GitHub includes samples that demonstrate the use of lite mode:
- LiteDemoActivity - Java : The basics of using a lite mode map in Java
- LiteDemoActivity - Kotlin : The basics of using a lite mode map in Kotlin
- LiteListDemoActivity - Java : Displaying maps efficiently in ListViews using lite mode in Java
- LiteListDemoActivity - Kotlin : Displaying maps efficiently in ListViews using lite mode in Kotlin
Overview of lite mode
A lite mode map is a bitmap image of a map at a specified location and zoom level. Lite mode supports all of the map types (normal, hybrid, satellite, terrain) and a subset of the functionality supplied by the full API. Lite mode is useful when you want to provide a number of maps in a stream, or a map that is too small to support meaningful interaction.
Users viewing the map cannot zoom or pan the map. Icons on the map give users access to viewing the map in the Google Maps mobile app and requesting directions.
Adding a lite mode map
Lite mode uses the same classes and interfaces as the full Google Maps Android
API. You can set a GoogleMap
to lite mode in the following
ways:
- Either as an XML attribute for a
MapView
orMapFragment
- Or in the
GoogleMapOptions
object
As an XML attribute for a MapView
or MapFragment
< fragment
xmlns
:
android
=
"http://schemas.android.com/apk/res/android"
xmlns
:
map
=
"http://schemas.android.com/apk/res-auto"
android
:
name
=
"com.google.android.gms.maps.MapFragment"
android
:
id
=
"@+id/map"
android
:
layout_width
=
"match_parent"
android
:
layout_height
=
"match_parent"
map
:
cameraZoom
=
"13"
map
:
mapType
=
"normal"
map
:
liteMode
=
"true"
/
>
In the GoogleMapOptions
object
For details on setting the initial state of the map, see the guide to the map object .
Intents to launch a map view or directions request
By default, a toolbar at the bottom right of the map contains icons that
provide access to a map view or directions request in the Google Maps mobile
app. You can disable the toolbar by calling UiSettings.setMapToolbarEnabled(false)
. For more
details, see the toolbar documentation
.
Also by default when a user taps the map, the API starts the Google Maps mobile
app. You can override this by using GoogleMap.setOnMapClickListener()
to
set your own listener. You can also disable click events on the map, by calling setClickable()
on the view that contains the MapView
or MapFragment
. For
details of these two techniques, see the events documentation
.
Life cycle events
When using the API in fully interactive mode, users of the MapView
class
must forward all the activity life cycle methods to the corresponding methods
in the MapView
class. Examples of the life cycle methods include onCreate()
, onDestroy()
, onResume()
, and onPause()
.
When using the MapView
class in lite mode, forwarding lifecycle events is
optional, except for the following situations:
- It is mandatory to call
onCreate()
, otherwise no map will appear. - If you wish to show the My Location dot on your lite mode map and use the
default location source, you will need to call
onResume()
andonPause()
, because the location source will only update between these calls. If you use your own location source, it's not necessary to call these two methods.
Supported API features
The following table describes the behavior of a lite mode map for each area of API functionality. If an app calls a method that's not supported in lite mode, the API will log a warning message.
GoogleMapOptions.mapType()
and GoogleMap.setMapType()
: MAP_TYPE_NORMAL
, MAP_TYPE_SATELLITE
, MAP_TYPE_TERRAIN
, MAP_TYPE_HYBRID
, MAP_TYPE_NONE
title()
of a marker, the default info window
will
appear when the user taps the marker. You can show the info window
programmatically by calling showInfoWindow()
on the marker.
You can also create custom info windows via the InfoWindowAdapter
interface.You can set the camera target and zoom, but not the tilt or bearing.
Zoom level is rounded to the nearest integer in lite mode.
Calling GoogleMap.moveCamera()
will give you another lite
mode map image. For more information on setting and manipulating the
camera, see Changing the View
.
Calling GoogleMap.animateCamera()
will not result in
animation of the camera movement. The camera view will move instantly
to the new position.
Lite mode supports GoogleMap.setOnMapClickListener()
and GoogleMap.setOnMapLongClickListener()
.
To disable click events on a map in lite mode, you can call setClickable()
on the view that contains the MapView
or MapFragment
. This is useful, for
example, when displaying a map or maps in a list view, where you want
the click event to invoke an action unrelated to the map.
For details, see the events documentation .
GoogleMap.setTrafficEnabled()
is not supported
in lite mode.GoogleMap.addGroundOverlay()
is not supported in lite
mode.GoogleMap.addTileOverlay()
is not supported in lite
mode.