La versión 3.1.0 beta del SDK de Maps para Android es una implementación nueva con la misma plataforma de API que la versión anterior (todas las clases y los métodos siguen siendo iguales) y algunas funciones nuevas que puedes probar:
- Personalización de Maps
- Control de las colisiones de marcadores
- Personalización de polilíneas
En esta guía, se muestra cómo usar las nuevas funciones.
Personalización de Maps (versión beta)
El diseño de mapas basado en Cloud proporciona una variedad de herramientas y funciones que te permiten personalizar y administrar con mayor facilidad el diseño de tus mapas. En lugar de modificar el diseño de tu mapa mediante el código utilizando los SDKs y las APIs de Google Maps, puedes administrar y diseñar tus mapas en consola de Google Cloud. Para obtener más información, consulta el artículo Descripción general de las funciones de personalización de Maps para Android.
Control de las colisiones de marcadores (versión beta)
Puedes especificar si los marcadores personalizados deben anular las etiquetas del mapa base predeterminadas en caso de colisión. También puedes indicar la prioridad relativa entre los marcadores personalizados. Para obtener más información, consulta la sección Cómo controlar las colisiones de marcadores (Android).
Personalización de polilíneas (versión beta)
Ahora existen varias formas nuevas de personalizar la apariencia de las polilíneas:
- Las polilíneas multicolores establecen segmentos de polilíneas en diferentes colores.
- Las polilíneas con gradientes colorean una polilínea con un gradiente de dos colores.
- Las polilíneas selladas modifican el estilo de una polilínea mediante mapas de bits recurrentes.
Cómo crear una polilínea multicolor
Puedes usar intervalos para colorear los segmentos individuales de una polilínea. Para ello, crea objetos StyleSpan
y agrégalos a PolylineOptions
con los métodos addSpan()
o addSpans()
. De forma predeterminada, cada elemento del array configurará el color del segmento de la línea correspondiente. En el siguiente ejemplo, se muestra cómo configurar los colores de los segmentos para crear una polilínea con segmentos rojos y verdes:
Java
Polyline line = map.addPolyline(new PolylineOptions() .add(new LatLng(47.6677146,-122.3470447), new LatLng(47.6442757,-122.2814693)) .addSpan(new StyleSpan(Color.RED)) .addSpan(new StyleSpan(Color.GREEN)));
Kotlin
val line = map.addPolyline( PolylineOptions() .add(LatLng(47.6677146, -122.3470447), LatLng(47.6442757, -122.2814693)) .addSpan(StyleSpan(Color.RED)) .addSpan(StyleSpan(Color.GREEN)) )
Cómo crear una polilínea con gradientes
Si deseas definir un gradiente, debes especificar dos valores enteros alfa/rojo/verde/azul (ARGB) de 32 bits para determinar los colores de inicio y finalización del trazo. Llama a PolylineOptions.addSpan()
para configurar esta propiedad en el objeto de opciones de la forma.
En el siguiente ejemplo, se muestra cómo crear una polilínea con gradiente de rojo a amarillo, desde el Parque Zoológico Woodland hasta Kirkland, Washington.
Java
Polyline line = map.addPolyline(new PolylineOptions() .add(new LatLng(47.6677146,-122.3470447), new LatLng(47.6442757,-122.2814693)) .addSpan(new StyleSpan(StrokeStyle.gradientBuilder(Color.RED, Color.YELLOW).build())));
Kotlin
val line = map.addPolyline( PolylineOptions() .add(LatLng(47.6677146, -122.3470447), LatLng(47.6442757, -122.2814693)) .addSpan( StyleSpan( StrokeStyle.gradientBuilder( Color.RED, Color.YELLOW ).build() ) ) )
Cómo crear una polilínea sellada
Puedes configurar la apariencia de una polilínea con una textura de mapa de bits recurrente. Para ello, crea un objeto StampStyle
de TextureStyle
y, luego, llama a PolylineOptions.addSpan()
para configurar esta propiedad en el objeto de opciones de la forma, como se muestra a continuación:
Java
StampStyle stampStyle = TextureStyle.newBuilder(BitmapDescriptorFactory.fromResource(R.drawable.walking_dot)).build(); StyleSpan span = new StyleSpan(StrokeStyle.colorBuilder(Color.RED).stamp(stampStyle).build()); map.addPolyline(new PolylineOptions() .add(new LatLng(47.6677146,-122.3470447), new LatLng(47.6442757,-122.2814693)) .addSpan(span));
Kotlin
val stampStyle = TextureStyle.newBuilder(BitmapDescriptorFactory.fromResource(R.drawable.walking_dot)).build() val span = StyleSpan(StrokeStyle.colorBuilder(Color.RED).stamp(stampStyle).build()) map.addPolyline( PolylineOptions() .add(LatLng(47.6677146, -122.3470447), LatLng(47.6442757, -122.2814693)) .addSpan(span) )
Cómo importar la biblioteca de utilidades compatible con la versión beta
Si usas la biblioteca de utilidades de la API de Google Maps para Android, también deberás actualizar las dependencias de tu proyecto para reemplazar la versión existente por una compatible con la versión beta. Para ello, haz lo siguiente:
- Importa la biblioteca de utilidades compatible con la versión beta en tu archivo
build.gradle
:implementation 'com.google.maps.android:android-maps-utils-v3:1.3.1'
- Quita lo siguiente de
build.gradle
para quitar la biblioteca de utilidades no compatible con la versión beta:implementation 'com.google.maps.android:android-maps-utils:1.3.1'
Ejecuta las muestras
En el repositorio de muestras de código de Google en GitHub se incluyen apps de ejemplo que muestran el uso del SDK de Maps para Android versión 3.1.0.
- Muestras del SDK de Maps para Android
- Muestras del SDK de Places para Android (solo para usar con el SDK de Maps para Android versión 3.1.0 beta)