Cómo usar el SDK de Maps para Android versión 3.1.0 BETA

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 Maps
  • Control de las colisiones de marcadores
  • Personalización de polilíneas

En esta guía, se explica cómo usar las funciones nuevas.

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 la 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 el artículo sobre control de 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 de gradientes colorean una polilínea con un gradiente de dos colores.
  • Las polilíneas selladas modifican el diseño de una polilínea por medio 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 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:

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 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.

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 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:

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 una compatible con la versión beta. Para ello, haz lo siguiente:

  1. 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'
    
  2. 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 beta.