Es el 15.º aniversario de Google Maps Platform: consulta las noticias y los anuncios más recientes.

Modo lite

Maps SDK for Android permite publicar una imagen de mapa de bits de un mapa y ofrecer interactividad limitada al usuario. Esto se conoce como un mapa en modo lite.

Muestras de código

El repositorio ApiDemos en GitHub incluye ejemplos que muestran el uso del modo lite:

Descripción general del modo lite

El modo lite muestra una imagen de mapa de bits correspondiente a un mapa de una ubicación determinada y con un nivel de zoom específico. Además, este modo admite todos los tipos de mapa (normal, híbrido, satelital y de terreno), así como un subconjunto de las funcionalidades proporcionadas por la API completa. Resulta útil cuando deseas proporcionar una serie de mapas en un flujo o un mapa demasiado pequeño como para admitir una interacción significativa.

Los usuarios que vean el mapa no podrán desplazarse lateralmente por él ni aplicarle zoom. Los íconos del mapa les brindan a los usuarios la posibilidad de ver el mapa en la app para dispositivos móviles de Google Maps y de solicitar instrucciones sobre cómo llegar a un lugar.

Cómo agregar un mapa en el modo lite

El modo lite utiliza las mismas interfaces y clases que la API completa de Google Maps para Android. Puedes configurar un objeto GoogleMap en el modo lite de las siguientes maneras:

  • Mediante un atributo XML de un objeto MapView o MapFragment
  • directamente en el objeto GoogleMapOptions

Mediante un atributo XML de un objeto MapView o 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"/>

Directamente en el objeto GoogleMapOptions

GoogleMapOptions options = new GoogleMapOptions().liteMode(true);

Para obtener detalles sobre cómo configurar el estado inicial del mapa, consulta la guía sobre el objeto de mapa.

Intents para iniciar una vista de mapa o una solicitud de instrucciones sobre cómo llegar

De forma predeterminada, se muestra una barra de herramientas en la esquina inferior derecha del mapa con íconos que proporcionan acceso a una vista de mapa o a una solicitud de instrucciones sobre cómo llegar en la app para dispositivos móviles de Google Maps. A fin de inhabilitar la barra de herramientas, llama a UiSettings.setMapToolbarEnabled(false). Para obtener más detalles, consulta la documentación sobre la barra de herramientas.

También de forma predeterminada, cuando un usuario presiona el mapa, la API inicia la app para dispositivos móviles de Google Maps. Puedes anular esta función con GoogleMap.setOnMapClickListener() para configurar tu propio objeto de escucha. También puedes inhabilitar los eventos de clic en el mapa si llamas a setClickable() en la vista que contiene el objeto MapView o MapFragment. Para obtener más detalles sobre estas dos técnicas, consulta la documentación sobre eventos.

Eventos de ciclo de vida

Cuando se utiliza la API en el modo completamente interactivo, la clase MapView debe reenviar todos los métodos de ciclo de vida de la actividad a los métodos correspondientes de la clase MapView. Algunos ejemplos de métodos de ciclo de vida son onCreate(), onDestroy(), onResume() y onPause().

Cuando se utiliza la clase MapView en el modo lite, el reenvío de eventos de ciclo de vida es opcional, excepto en las siguientes situaciones:

  • Es obligatorio llamar a onCreate(). De lo contrario, no aparecerá ningún mapa.
  • Si deseas mostrar el punto de Mi ubicación en el mapa en el modo lite y utilizar la fuente de ubicación predeterminada, deberás llamar a onResume() y onPause(), ya que la fuente de ubicación solo se actualizará entre estas llamadas. Si utilizas tu propia fuente de ubicación, no es necesario llamar a estos dos métodos.

Funciones de API admitidas

En la siguiente tabla, se describe el comportamiento de un mapa en el modo lite para cada área de funcionalidades de la API. Si una app llama a un método no admitido en el modo lite, la API registrará un mensaje de advertencia.

Funcionalidad
Tipos de mapas
¿Se admiten?
Los siguientes tipos de mapas están disponibles a través de GoogleMapOptions.mapType() y GoogleMap.setMapType(): MAP_TYPE_NORMAL, MAP_TYPE_SATELLITE, MAP_TYPE_TERRAIN, MAP_TYPE_HYBRID, MAP_TYPE_NONE
Polilíneas, polígonos y círculos
¿Se admiten?
Las funcionalidades relacionadas con las formas en el modo lite son las mismas que en la API completa.
Proyección
¿Se admite?
Las funcionalidades relacionadas con la proyección en el modo lite son las mismas que en la API completa.
Mi ubicación
¿Se admite?
Las funcionalidades relacionadas con la capa Mi ubicación en el modo lite son las mismas que en la API completa.
Mapas con padding
¿Se admiten?
La compatibilidad de los mapas con padding en el modo lite es la misma que en la API completa.
Ventanas de información
¿Se admiten?
Si configuras el método title() de un marcador, aparecerá la ventana de información predeterminada cuando el usuario presione el marcador. Puedes mostrar la ventana de información de manera programática si llamas a showInfoWindow() en el marcador. También puedes crear ventanas de información personalizadas a través de la interfaz InfoWindowAdapter.
Estilos personalizados del Mapa base
¿Se admiten?
Maps SDK for Android admite diseños personalizados del Mapa base.
Marcadores
¿Se admiten? En parte
Puedes agregar un marcador y responder a un evento de clic. También puedes agregar íconos de marcadores personalizados. No es posible configurar un marcador para que sea arrastrable. En el modo lite, los marcadores del mapa son planos y no se pueden rotar.
Posición de la cámara, zoom y animación
¿Se admiten? En parte

Puedes configurar el nivel de zoom y el objetivo de la cámara, pero no la inclinación ni el rumbo. En el modo lite, el nivel de zoom se redondea al valor entero más cercano. Si llamas a GoogleMap.moveCamera(), obtendrás otra imagen de mapa en el modo lite. Para obtener más información sobre cómo configurar y manipular la cámara, consulta Cómo cambiar la vista.

Si llamas a GoogleMap.animateCamera(), no se animará el movimiento de la cámara, sino que la vista adoptará al instante la nueva posición.

Eventos de mapa
¿Se admiten? En parte

El modo lite admite los métodos GoogleMap.setOnMapClickListener() y GoogleMap.setOnMapLongClickListener().

Para inhabilitar los eventos de clic en un mapa en el modo lite, llama a setClickable() en la vista que contenga el objeto MapView o MapFragment. Esto resulta útil, por ejemplo, al mostrar uno o varios mapas en una vista de lista, en la que deseas que el evento de clic invoque una acción no relacionada con el mapa.

Para obtener más detalles, consulta la documentación sobre eventos.

Mapas de interiores y edificios
¿Se admiten? No
El modo lite mostrará los mismos mosaicos que la API de Maps Static. Esto significa que el plano del interior del edificio aparecerá si se integra al mosaico predeterminado. De lo contrario, no aparecerá. Además, no puedes cambiar el piso que se muestra ni controlar un selector de pisos.
Capa de tráfico
¿Se admite? No
El modo lite no admite el método GoogleMap.setTrafficEnabled().
Superposiciones de suelo
¿Se admiten? No
El modo lite no admite el método GoogleMap.addGroundOverlay().
Superposiciones de mosaicos
¿Se admiten? No
El modo lite no admite el método GoogleMap.addTileOverlay().
Gestos
¿Se admiten? No
El modo lite no admite gestos. La habilitación o inhabilitación de los gestos no tendrá ningún efecto.
Street View
¿Se admite? No
El modo lite no admite Street View.