La versión 3.1.0 beta del SDK de Maps para Android es una implementación nueva con la misma plataforma de APIs 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 mapas
- Control de las colisiones de marcadores
- Personalización de polilíneas
En esta guía, puedes consultar cómo usar las funciones nuevas.
Personalización de mapas (versión beta)
El diseño de mapas basado en Cloud ofrece una variedad de herramientas y funciones que te permiten personalizar y administrar fácilmente cómo aplicas diseño a tus mapas. En vez de utilizar un código para aplicar diseño a un mapa con los SDKs y las APIs de Google Maps, puedes administrar tus mapas y aplicarles diseño en la consola de Google Cloud. Para obtener más información, consulta la descripción general acerca de la personalización de mapas 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 cómo controlar las colisiones de marcadores (Android).
Personalización de polilíneas (versión beta)
Ahora hay varias formas nuevas de personalizar el aspecto de las polilíneas:
- Las polilíneas multicolor se establecen con segmentos en diferentes colores.
- Las polilíneas con gradiente se rellenan con un gradiente de dos colores.
- Las polilíneas selladas utilizan un diseño de 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 establecerá 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:
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)) )
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)));
Cómo crear una polilínea con gradiente
Si deseas definir un gradiente, debes especificar dos valores enteros alpha-red-green-blue (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.
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() ) ) )
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())));
Cómo crear una polilínea sellada
Puedes configurar el aspecto 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:
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) )
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));
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 la que es 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'
- Elimina 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 beta.
- Muestras del SDK de Maps para Android
- Muestras del SDK de Places para Android (solo para usar con Maps versión 3.1.0 beta)