Notas de la versión del plan premium de la API de Maps para Android

20 de diciembre de 2018

Errores corregidos

  • Se corrigió otro problema por el que las apps fallaban al intentar cargar un mapa (error 120507393). Debes usar esta versión (2.34.2) en lugar de la versión del 22 de noviembre (2.34.1) o la del 1 de noviembre (2.34.0).

Notas

  • Aún se necesitan las nuevas dependencias y la actualización de compileSdkVersion como se indica a continuación para la versión del 22 de noviembre.

22 de noviembre de 2018

Errores corregidos

  • Se corrigió un problema por el que las apps fallaban al intentar cargar un mapa (error 119727875). Debes usar esta versión (2.34.1) en lugar de la versión del 1 de noviembre (2.34.0).

Notas

  • Nuevas dependencias: Debes agregar estas nuevas dependencias al archivo build.gradle de tu app:

    implementation 'com.android.support:support-v4:+'
    implementation 'com.android.support:appcompat-v7:+'
    implementation 'com.google.android.gms:play-services-basement:15.0.1'
    implementation 'com.google.android.gms:play-services-base:15.0.1'
    
  • También debes establecer compileSdkVersion en la versión más reciente (actualmente, versión 28) en el build.gradle de tu app.

Consulta la guía de introducción para obtener las instrucciones de configuración completas.

1 de noviembre de 2018

Funciones

  • Se agregaron los métodos UiSettings.setScrollGesturesEnabledDuringRotateOrZoom(boolean) y UiSettings.isScrollGesturesEnabledDuringRotateOrZoom(), lo que te permite establecer una preferencia para determinar si los gestos de desplazamiento pueden realizarse al mismo tiempo que un gesto de zoom o rotación. Si se habilita esta opción, los usuarios pueden desplazarse por el mapa mientras lo rotan o aplican zoom. Si se la inhabilita, el usuario no podrá desplazarse por el mapa mientras utiliza los gestos de rotación o zoom. Esta configuración no inhabilita los gestos de desplazamiento por completo, sino solo durante los gestos de rotación y zoom, y tampoco restringe los movimientos programáticos ni la animación de la cámara.

Errores corregidos

  • Se corrigió un error de StackOverflowError que se producía al visualizar áreas con muchos mapas interiores (error 35829548).
  • Se corrigió un error por el cual los íconos de lugares de interés se ocultaban cuando se aplicaba un estilo personalizado que especificaba la saturación del ícono (error 65660536).

Se quitó un estilo obsoleto: 1 de noviembre de 2018

Funciones

  • Se quitó la compatibilidad con el estilo de mapa base anterior. Las opciones de inhabilitación y habilitación de la API en el archivo AndroidManifest.xml (consulta a continuación) ya no son compatibles. Esto se aplica a todas las versiones del SDK de Maps para Android. Consulta esta entrada de blog para obtener más información sobre el estilo nuevo.

Se habilitó un estilo nuevo de forma predeterminada: 14 de junio de 2018

Funciones

  • Se habilitó el nuevo estilo de mapa base de forma predeterminada. Puedes seguir usando la opción de inhabilitación de forma temporal si necesitas tiempo para modificar tu app a fin de que se adapte al estilo nuevo. Si lo haces, sigue el error 72780606, que contiene el cronograma respecto de la finalización de la compatibilidad del estilo de mapa base anterior. Publicaremos actualizaciones allí a medida que estén disponibles.

    Para inhabilitar el estilo, agrega la siguiente etiqueta al archivo AndroidManifest.xml, dentro de la etiqueta <application>. El dispositivo debe tener al menos la versión 12.0.0 de Servicios de Google Play para que la inhabilitación funcione. Si ya habías habilitado el estilo de mapa base nuevo, esta etiqueta de inhabilitación debe reemplazar la de habilitación. Consulta esta entrada de blog para obtener más información sobre el estilo nuevo.

    <meta-data android:name="com.google.android.m4b.maps.API_OPTIONS"
        android:value="B3H9HE845CFHYG"/>
    

Habilitación de estilo nuevo: 12 de abril de 2018

Funciones

  • Se permite la habilitación del nuevo estilo de mapa base. Para habilitarlo, agrega la siguiente etiqueta a tu archivo AndroidManifest.xml, dentro de las etiquetas <application>. El dispositivo debe tener al menos la versión 12.0.0 de Servicios de Google Play para que la habilitación funcione. Consulta esta entrada de blog para obtener más información sobre el estilo nuevo.

    <meta-data android:name="com.google.android.m4b.maps.API_OPTIONS"
        android:value="B3MWHUG2MR0DQW"/>
    

12 de abril de 2018

Funciones

  • Se agregó un mecanismo para que los desarrolladores habiliten las funciones experimentales.

20 de marzo de 2018

Funciones

  • Cuando configuras la posición de una panorámica de Street View, ahora puedes proporcionar StreetViewSource para restringir la búsqueda a resultados solo al aire libre. Ten en cuenta que esta función es experimental, y es posible que algunas búsquedas sigan incluyendo panorámicas de interiores. Para obtener información detallada, consulta la guía de Street View.

Errores corregidos

6 de noviembre de 2017

Funciones

  • En esta versión, se amplían las capacidades de diseño personalizado para polilíneas y contornos de polígonos y círculos en el modo lite a fin de que coincidan con las de la API completa. Para ello, se agregó la compatibilidad con patrones de trazo, tipos de unión y terminaciones. Consulta ejemplos en el instructivo sobre cómo agregar polígonos y polilíneas para representar áreas y rutas.

18 de septiembre de 2017

Funciones

Usa el nuevo GoogleMap.OnMyLocationClickListener para detectar si el usuario hace clic en el punto azul de Mi ubicación (error 35822305).

@Override
public void onMyLocationClick(@NonNull Location location) {
  Toast.makeText(this, "Current location:\n" + location, Toast.LENGTH_LONG).show();
}

Para obtener información detallada, consulta la guía sobre la capa Mi ubicación.

28 de julio de 2017

Errores corregidos

  • Se corrigió la excepción DexException: play-services-basement-11.0.2 google-maps-sdk-m4b-2.28.0 que ocurría en proyectos que dependen de firebase-messaging y google-maps-sdk-m4b (error 63931524).
  • Se corrigió la excepción IllegalArgumentException: totalAngleRad must be >= 0.0f and <= 2*PI: -2.9516223E-4 que ocurría al aplicar el tipo de unión ROUND en las opciones de polilíneas (error 36777405).

7 de junio de 2017

Errores corregidos

15 de febrero de 2017

Funciones

  • En esta versión, se presentan las capacidades de diseño personalizado para las polilíneas y los contornos de polígonos y círculos. Cambia el patrón de trazo de una línea sólida (predeterminado) a tu selección de guiones, puntos y espacios. En las polilíneas y los polígonos, puedes especificar un tipo de unión redonda o biselada para reemplazar las uniones a inglete fijas predeterminadas. También puedes cambiar la terminación en cada extremo de una polilínea de una recortada (opción predeterminada) a una cuadrada o redonda, o bien especificar un mapa de bits personalizado para usarlo como terminación. El diseño de los patrones de trazo, los tipos de uniones y las terminaciones de inicio y finalización está disponible en la API completa, pero no en el modo lite. Consulta ejemplos en el instructivo sobre cómo agregar polígonos y polilíneas para representar áreas y rutas (errores 4633, 4787, 4884).
  • Ahora puedes almacenar objetos de datos arbitrarios con tus objetos geométricos. Por ejemplo, llama a setTag() para agregar un objeto de datos a una polilínea. Hay métodos similares disponibles para polilíneas, polígonos, círculos y superposiciones de suelo, así como los métodos setTag() y getTag() ya existentes para los marcadores (error 10306).

Errores corregidos

  • java.lang.IllegalStateException: LruCache does not have a sizeOf implementation for: null (error 8211)
  • Se corrigió la excepción OutOfMemoryError al aplicar zoom o desplazarse lateralmente por el mapa (error 5621).
  • Se corrigió el error NPE en MapView#onCreate. (error 10878).
  • Se corrigió parcialmente el error por el que aparecía Suppressed StrictMode policy violation en los registros (error 11077).
  • Se corrigió el siguiente error: No se puede quitar Guava de google-maps-sdk-m4b aar (error 10246).

24 de octubre de 2016

Errores corregidos

  • Se corrigió el siguiente error: Hay un parpadeo en el relleno del círculo durante la actualización rápida del radio y el centro (error 5707).
  • Se corrigió el siguiente error: Se produce una falla si la app de Google Play no está disponible (error 4862).
  • Se corrigió el siguiente error: Llamar a Marker.showInfoWindow() en onMarkerClick(Marker) y mostrar el valor verdadero hace que Marker.isInfoWindowShown siga mostrando el valor falso en los clics posteriores en el marcador (error 5408).
  • Se corrigió el siguiente error: Hay un rendimiento deficiente cuando la huella de memoria de la app es grande (error 5445).
  • Se corrigió el siguiente error: Se muestran incumplimientos de StrictMode en el registro (error 10170).
  • Se corrigió el siguiente error: Aparece una advertencia al compilar e instalar la compilación m4b: Ignoring InnerClasses attribute for an anonymous inner class (error 10050).

Notas

  • La función getStreetViewPanorama() que se había dado de baja anteriormente ya no está disponible en el SDK de Servicios de Google Play. (Todavía está disponible en el APK de Servicios de Google Play que se ofrece para los dispositivos Android. Por lo tanto, las apps existentes se seguirán ejecutando normalmente hasta que vuelvas a compilarlas). La función getStreetViewPanorama() dejó de estar disponible en diciembre de 2014. En su lugar, debes usar StreetViewPanoramaView.getStreetViewPanoramaAsync() o StreetViewPanoramaFragment.getStreetViewPanoramaAsync() para obtener una panorámica de Street View lista para usar. Consulta la Guía para desarrolladores.

21 de septiembre de 2016

Funciones

  • Esta versión presenta el diseño personalizado del mapa base (error 5463). Puedes pasar una declaración de estilo JSON a MapStyleOptions y cambiar la representación visual de ciertas características, como rutas, parques, negocios y otros lugares de interés. Esto significa que puedes resaltar determinados componentes del mapa o hacer que este complemente el estilo de tu app. El diseño personalizado está disponible para el tipo de mapa normal.

  • El nuevo Asistente de diseño de Maps Platform proporciona una forma rápida de generar una declaración de estilo JSON para tu mapa. El SDK de Maps para Android admite las mismas declaraciones de estilo que la API de Maps JavaScript.

  • Los lugares de interés comerciales ahora aparecen de forma predeterminada en el mapa, siempre que el tipo de mapa sea normal (antes de esta versión, los lugares de interés locales aparecían en el mapa, pero no los comerciales). Estos últimos representan empresas como tiendas, restaurantes, hoteles, etc. Consulta la guía sobre lugares de interés.

  • Puedes responder a eventos de clic en un lugar de interés.

Errores corregidos

  • Se corrigió el siguiente error: Aparece una advertencia sobre la API de Google Maps para Android: GLHudOverlay deprecated; draw(): no-op (error 10201).
  • Se corrigió el siguiente error: El cliente debe tener el permiso ACCESS_FINE_LOCATION para solicitar las ubicaciones PRIORITY_HIGH_ACCURACY (error 10166).
  • Se corrigió el siguiente error en la vista previa para desarrolladores de Android Nougat: MapView aparece en blanco cuando se le cambia el tamaño en el modo multiventana y no se enfoca (error 213354).
  • Se corrigió el siguiente error: Aparecen advertencias al compilar e instalar la compilación del plan premium (m4b) (error 10050).

Notas

  • Reenvío de métodos de ciclo de vida: Si usas la clase MapView y la API está en el modo completamente interactivo en lugar del modo lite, tu app debe reenviar los siguientes métodos de ciclo de vida de la actividad a los métodos correspondientes de la clase MapView: onCreate(), onStart(), onResume(), onPause(), onStop(), onDestroy(), onSaveInstanceState() y onLowMemory(). Antes de esta versión, no era necesario reenviar onStart() y onStop(), pero cuando vuelves a compilar tu app con la versión nueva, es esencial que lo hagas. Consulta la documentación para obtener información detallada.

  • Mejoras en el paquete del SDK del plan premium:

    • Se incluye un archivo README de nivel superior que describe el contenido del paquete.
    • Se cambió el nombre del directorio de nivel superior a maps_for_business_sdk, lo que facilita la actualización manual de las bibliotecas existentes.
    • Se aplicaron varias mejoras en los comentarios de los archivos y la documentación, incluidos comentarios más claros sobre los permisos en AndroidManifest.xml.
    • Se corrigió el nombre release_m4b.jar en .release-classpath.
    • Se quitó la referencia a un archivo JAR de origen no existente en .release-classpath.

1 de agosto de 2016

Funciones

  • En esta versión, se presenta un conjunto de objetos de escucha de cambio de cámara nuevos para los eventos de inicio, continuidad y finalización de los movimientos de la cámara. También puedes ver el motivo por el que se mueve la cámara, ya sea en respuesta a gestos del usuario, animaciones de API incorporadas o movimientos controlados por el desarrollador. A continuación, se ofrece un resumen de los objetos de escucha nuevos. Para obtener información detallada, consulta la guía de eventos de cambio de cámara (error 4636).

    • Cuando la cámara comienza a moverse, se invoca la devolución de llamada onCameraMoveStarted() del objeto de escucha OnCameraMoveStartedListener. El método de devolución de llamada recibe un motivo (reason) para el movimiento de la cámara.
    • Cuando la cámara está en movimiento o el usuario interactúa con la pantalla táctil, se invoca varias veces la devolución de llamada onCameraMove() del objeto de escucha OnCameraMoveListener.
    • Cuando la cámara deja de moverse y el usuario deja de interactuar con el mapa, se invoca la devolución de llamada OnCameraIdle() del objeto de escucha OnCameraIdleListener.
    • Cuando se interrumpe el movimiento actual de la cámara, se invoca la devolución de llamada OnCameraMoveCanceled() del objeto de escucha OnCameraMoveCanceledListener.
  • Utiliza el método Marker.setTag() para almacenar un objeto de datos arbitrario con un marcador y el método Marker.getTag() para recuperar dicho objeto. Si deseas obtener información detallada, consulta la guía sobre cómo asociar datos con un marcador (error 4650).

  • Con GoogleMap.setMinZoomPreference() y GoogleMap.setMaxZoomPreference(), puedes establecer el nivel de zoom mínimo y máximo que prefieras. Esto resulta útil, por ejemplo, si en tu app se muestra un área definida alrededor de un lugar de interés o si usas una superposición de mosaicos personalizada con un conjunto limitado de niveles de zoom. A fin de obtener información detallada, consulta la guía sobre cómo configurar las preferencias de zoom mínimo y máximo (error 4663).

  • Con GoogleMap.setLatLngBoundsForCameraTarget(), puedes restringir los límites centrales de latitud y longitud del punto focal del mapa (objetivo de la cámara) para que los usuarios solo puedan moverse y desplazarse lateralmente dentro de estos límites. Por ejemplo, en una app minorista para un centro comercial o un aeropuerto, podrías restringir el mapa según límites específicos, de modo que los usuarios puedan moverse y desplazarse lateralmente dentro de dichos límites. Para obtener información detallada, consulta la guía sobre cómo restringir el desplazamiento lateral del usuario a un área determinada.

Mejoras y errores corregidos

  • Se corrigió el siguiente error: El ancla del ícono del marcador falla con la versión 9.0.83 de Servicios de Google Play (error 9768).
  • Se corrigió el siguiente error: Se muestra ActivityNotFoundException cuando se desinstala o desactiva Google Maps (error 9483).

Notas

  • El objeto de escucha OnCameraChangeListener dejó de estar disponible y se reemplazó por los nuevos objetos descritos anteriormente, es decir, OnCameraMoveStartedListener, OnCameraMoveListener, OnCameraMoveCanceledListener y OnCameraIdleListener.

14 de julio de 2016

  • No hay cambios funcionales en esta versión. La nueva descarga de la biblioteca corrige un error de empaquetado que generaba excepciones de archivos duplicados cuando se basaba en las versiones recientes del SDK de Servicios de Google Play.

29 de junio de 2016

Funciones

Errores corregidos

  • Se corrigió el siguiente error: NullPointerException: Intento de invocar el método virtual boolean java.io.File.mkdir() en una referencia de objeto nula (error 9021).
  • Se corrigió el siguiente error: NullPointerException: Intento de invocar el método de interfaz java.util.Iterator java.util.List.iterator() en una referencia de objeto nula en com.google.maps.api.android.lib6.d.ei.a() (error 9008).
  • Se corrigió el siguiente error: Llamar a Marker.setIcon() con el ID de recurso en un marcador fuera de la vista hace que el marcador sea blanco (error 9765).
  • Se corrigió el siguiente error: La configuración del ícono de los marcadores de mapa de Google a veces genera un parpadeo (error 8531).
  • Se corrigió el siguiente error: Llamar a Marker.setIcon() hace que desaparezca la ventana de información (error 5419).
  • Se corrigió el siguiente error: El marcador no se puede seguir arrastrando si se modifica el ícono en el evento onMarkerDragStart (error 5932).
  • Se corrigió el siguiente error: La ventana de información ya no se destaca al tocarla cuando se implementa el objeto InfoWindowAdapter personalizado (error 7809).
  • Se corrigió el siguiente error: Las polilíneas se trazan de manera incorrecta en determinados casos (error 5313).
  • Se corrigió el siguiente error: Comportamiento extraño cuando se traza la polilínea (error 5123).
  • Se corrigió el siguiente error: Las polilíneas que se acercan a los polos se trazan de forma incorrecta (error 9176).
  • Se corrigió el siguiente error: Se muestra NullPointerException al hacer clic en el botón de la barra de herramientas de instrucciones sobre cómo llegar (error 8817).
  • Se corrigió el siguiente error: Posible llamada explícita a System.gc() en GoogleMap.getProjection().toScreenLocation() (error 6483).
  • Se corrigió el siguiente error: Cuando se usa SupportMapFragment, la API experimenta una fuga de memoria durante la rotación de la pantalla hasta que el mapa se carga para el nivel de zoom actual (error 5905).
  • Se corrigió el siguiente error: GoogleMap.animateCamera(CameraUpdateFactory.newLatLngZoom(LatLng,zoom)) provoca errores de zoom si se cancela (error 6947).

Notas

  • La función getMap() que se había dado de baja anteriormente ya no se encuentra disponible en el SDK (todavía lo está en el APK de Servicios de Google Play que se ofrece para los dispositivos Android). La función getMap() dejó de estar disponible en diciembre de 2014. Consulta la entrada de blog de la versión para obtener ayuda con la conversión de getMap() a getMapAsync().
  • Aviso de baja: En una versión posterior, los mapas de interiores solo estarán disponibles en el tipo de mapa normal. A partir de esa versión, los mapas de interiores dejarán de ser compatibles con los mapas satellite, hybrid o terrain. Aun cuando los mapas de interiores no sean compatibles, el método isIndoorEnabled() seguirá mostrando el valor establecido a través del método setIndoorEnabled(), como sucede actualmente. El valor predeterminado de setIndoorEnabled es true. Suscríbete a estas notas de la versión para recibir una notificación de cada versión.

11 de febrero de 2016

Funciones

En esta versión, se presentan varios objetos de escucha de eventos nuevos:

Errores corregidos

  • Se corrigió el siguiente error: Activación del nivel máximo de zoom cuando se presiona dos veces la ventana de información (error 4640).
  • Se corrigió el siguiente error: Problema de texto RTL en la ventana de información del marcador de la versión 2 de la API de Maps para Android (error 5608).
  • Se corrigió el siguiente error: TileProvider genera los mosaicos correctos, pero se renderizan en color blanco sólido en el mapa (error 8084).
  • Fuga de memoria (error 8696)
  • Al activar la capa Mi ubicación, se produce una fuga de actividad (error 8111).

Notas

  • Google Maps Engine dejó de estar disponible a fines de enero de 2016. Por esa razón, la clase MapsEngineLayer se quitó del SDK de Maps para Android. Para obtener más información detallada, consulta la página de información de Google Maps Engine.

12 de noviembre de 2015

Notas

  • Si te orientas a la versión 8.3 o una posterior del SDK de Servicios de Google Play, ya no necesitarás el permiso WRITE_EXTERNAL_STORAGE a fin de usar el SDK de Maps para Android. Para obtener información detallada, consulta la guía de configuración.
  • Todas las muestras de código del SDK de Maps para Android ahora están disponibles en GitHub. Ten en cuenta que las muestras usan el paquete com.google.android.gms.maps, no el com.google.android.m4b.maps que se utiliza con el plan premium de Google Maps Platform. Para las muestras, también se requiere el SDK de Servicios de Google Play, ya que usan las API de Location para algunas partes de la demostración.

1 de octubre de 2015

Funciones

  • El SDK de Maps para Android ahora admite el modo ambiente en las apps para wearables. Este modo está destinado a las apps siempre encendidas y se habilita cuando el usuario deja de usar activamente la app, lo que permite que esta permanezca visible en el dispositivo wearable. El SDK de Maps para Android proporciona una renderización del mapa simplificada y con bajo contenido de colores. Este modo reduce el consumo de energía de tu app y garantiza una apariencia y un estilo coherentes con los de otras apps de ambiente, como las caras de reloj.

Notas

  • Android 6.0 (Marshmallow) presenta un nuevo modelo para administrar los permisos, que simplifica el proceso de instalación y actualización de apps para los usuarios. Si tu app se orienta a una API nivel 23 o posterior, puedes utilizar el nuevo modelo de permisos. Esto es muy importante si usas la capa Mi ubicación en el SDK de Maps para Android. Para obtener más información, consulta la documentación sobre la capa Mi ubicación.

23 de junio de 2015

Errores corregidos

  • Se corrigieron los problemas de ejecución en dispositivos que tienen una versión de Servicios de Google Play anterior a la 7.3.

2 de junio de 2015

Funciones

  • El SDK de Maps para Android ahora está disponible en Android Wear. Crea apps basadas en mapas que se ejecuten directamente en dispositivos wearable.

Errores corregidos

  • Se corrigieron los problemas para renderizar un mapa en MapView cuando se configura la propiedad zOrderOnTop como verdadera o cuando se incorpora MapView en un contenedor desplazable (error 7936).
  • Se corrigió el siguiente error: La barra de herramientas del mapa está siempre visible en el modo lite, incluso si está inhabilitada (error 7947).

5 de mayo de 2015

Funciones

  • Una interfaz nueva, StreetViewPanorama.OnStreetViewPanoramaLongClickListener, admite clics prolongados (mantener presionado el dedo) sobre una panorámica de Street View.
  • Cuando se utiliza la clase MapView en el modo lite, el reenvío de eventos de ciclo de vida ahora es opcional, con algunas excepciones, como se explica en la documentación.
  • Para inhabilitar los eventos de clic en un mapa en el modo lite, llama a setClickable() en la vista que contenga 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 información detallada, consulta la documentación.

Errores corregidos

  • showInfoWindow() ahora funciona tanto en el modo lite como en el modo completo.
  • TileOverlay.clearTileCache() funciona según lo previsto luego de mostrar NO_TILE (error 4755).
  • La API es más selectiva en su comportamiento de registro en el modo lite, cuando se informan las funciones que no son compatibles con ese modo. Ya no registra las llamadas predeterminadas que se realizan durante el inicio de la app.
  • CameraUpdateFactory ahora se inicializa de manera correcta, por lo que ya no deberías ver una excepción NullPointerException "CameraUpdateFactory is not initialized" (CameraUpdateFactory no se inicializó) luego de que MapView.getMap() muestre un elemento GoogleMap válido (error 6499).
  • Se mejoró el rendimiento de inicio de la app, y el subproceso principal ya no se bloquea en esta etapa (error 7532).
  • StreetViewPanoramaView ya no solicita enfoque en onCreate(), por lo que no hay que desplazarse por la vista para que se muestre Street View (error 7566).
  • Se corrigió una fuga de recursos que se producía en el modo estricto (error 5992).
  • Se corrigió una excepción NullPointerException que se producía con setPadding() en el modo de accesibilidad (error 7619).
  • Se corrigió un error que generaba fallas en las apps cuando se cargaba un ícono a partir de un elemento (error 7696).

8 de diciembre de 2014

Funciones

  • La API ofrece un nuevo modo lite. Cuando el modo lite está habilitado, la API entrega una imagen de mapa de bits en lugar de un mapa completamente interactivo. El modo lite admite todos los tipos de mapas y un subconjunto de las funcionalidades que proporciona la API completa. Los marcadores y las formas se trazan sobre la imagen estática del cliente, por lo que sigues teniendo el control total sobre ellos. Un mapa en modo lite resulta útil cuando deseas mostrar diferentes mapas pequeños o un mapa demasiado pequeño como para ofrecer una interactividad significativa.
  • Hay una nueva barra de herramientas de mapa disponible tanto en el modo lite como en el modo completo, y está habilitada de forma predeterminada en ambos modos para las apps que se vuelven a compilar con la nueva biblioteca cliente. Al presionar la barra de herramientas, se abre la app para dispositivos móviles de Google Maps, lo que brinda a los usuarios un acceso rápido a las instrucciones sobre cómo llegar y la navegación paso a paso hasta el marcador seleccionado. En el modo lite, la barra de herramientas es estática, mientras que, en el modo completo, aparece cuando el usuario presiona un marcador. Para inhabilitar la barra de herramientas en ambos modos, llama a UiSettings.setMapToolbarEnabled(false).
  • La API admite una nueva devolución de llamada onMapReady() que puedes configurar llamando a MapView.getMapAsync() o MapFragment.getMapAsync(). Se llama al método onMapReady() cuando el mapa está listo para usarse, y este método proporciona una instancia no nula de GoogleMap. Esto significa que ya no debes verificar si existe un mapa no nulo antes de usar el mapa. Consulta la guía sobre cómo agregar un mapa.
  • De manera similar, ahora puedes usar StreetViewPanoramaView.getStreetViewPanoramaAsync() o StreetViewPanoramaFragment.getStreetViewPanoramaAsync() para obtener una panorámica de Street View lista para usar. Consulta la documentación.

Errores corregidos

  • GoogleMap.CancelableCallback() ahora se comporta correctamente durante la animación o el movimiento de la cámara (error 5208).
  • Los límites LatLngBounds de la región visible ahora se calculan correctamente en el modo de paisaje (error 5285).
  • Se corrigió una regresión respecto del rendimiento de los marcadores (error 7174).
  • Se corrigió el problema relacionado con las formas de punta de flecha durante la triangulación de cuadriláteros convexos (error 6197; el problema inicial que se informó ya se corrigió).

Notas

  • getMap() dejó de estar disponible y se reemplazó por el método getMapAsync() nuevo descrito anteriormente. Del mismo modo, getStreetViewPanorama() dejó de estar disponible y se reemplazó por el método getStreetViewPanoramaAsync() nuevo.
  • En el caso de las apps que se vuelven a compilar con la nueva biblioteca cliente, los controles de zoom del mapa están inhabilitados de forma predeterminada. Hasta esta versión, estaban habilitados según la configuración predeterminada. Para habilitarlos o inhabilitarlos, llama a UiSettings.setZoomControlsEnabled().

16 de octubre de 2014

13 de mayo de 2014

  • Se agregó Street View para incorporar y controlar las vistas panorámicas de 360°.
  • Se agregaron funcionalidades a los mapas de interiores para que puedas responder a eventos de interiores y de cambio de nivel, y reemplazar el selector de nivel por uno propio (error 5939).
  • Se mejoraron las funciones de accesibilidad en varios controles incorporados.
  • Se habilitó la renderización de caracteres chinos en las tarjetas informativas de la capa de Maps Engine.

6 de mayo de 2014

Funciones

  • Se ofrece compatibilidad con las capas de Google Maps Engine. Agrega capas de Google Maps Engine como superposiciones de mosaicos interactivas con la nueva clase MapsEngineLayer.

Enero de 2014

Funciones

  • Se agregó una marca fadeIn a TileOverlayOptions para activar o desactivar el fundido de entrada de los mosaicos.

Errores corregidos

  • Los intentos fallidos de autenticación de una clave de API ya no se almacenan en caché (error 6099).

Octubre de 2013

Funciones

  • Se agregó un método setImage a la clase GroundOverlay que te permite cambiar la imagen de una superposición de suelo (error 4847).
  • Se agregaron una opción alpha y un método setAlpha a los marcadores (error 4768).
  • Se agregó un método setOnMapLoadedCallback a la clase GoogleMap. Se llama a onMapLoaded cuando se completa la renderización del mapa (error 5779).
  • Se agregó un método setBuildingsEnabled a la clase GoogleMap. Los edificios aún están habilitados de forma predeterminada (error 5550).
  • Se actualizó el logotipo de Google.

Errores corregidos

  • La clase CameraPosition que se muestra en un objeto OnCameraChangeListener ahora respeta el padding del mapa (error 5844).
  • GroundOverlay.setPositionFromBounds ahora vuelve a trazar la superposición de suelo.

Septiembre de 2013

Funciones

  • Se agregó un método setPadding a la clase GoogleMap que te permite indicar las partes del mapa que pueden cubrir otras vistas. Mediante la configuración del padding, se reposicionan los controles estándares del mapa, y las actualizaciones de la cámara usan la región con padding (error 4670, error 5321).
  • Se agregó el método LatLngBounds.getCenter (error 4664).
  • Se agregaron métodos a Marker:

Errores corregidos

  • Se corrigió el error por el que GooglePlayServicesUtil.getErrorDialog siempre muestra un diálogo, salvo cuando la plataforma Servicios de Google Play está disponible (error 4720).

Agosto de 2013

Funciones

  • Versión inicial