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 superficie 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)

La personalización de Maps ofrece una variedad de herramientas y funciones que te permiten personalizar y administrar el estilo de tus mapas con mayor facilidad. En lugar de modificar el estilo de tu mapa mediante el código utilizando los SDK y las API de Google Maps, puedes administrar y diseñar tus mapas en Google Cloud Console. 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 manera predeterminada, cada elemento del arreglo 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 a fin de 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 en una textura de mapa de bits recurrente. Para ello, crea un objeto StampStyle de TextureStyle y, luego, llama a PolylineOptions.addSpan() a fin de 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)
)