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

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