Como usar o SDK do Maps para Android v3.1.0 Beta

A versão 3.1.0 do SDK do Maps para Android é uma nova implementação com a mesma plataforma de API da versão anterior. Nela, todas as classes e todos os métodos permanecem iguais, e há novos recursos para você testar.

  • Personalização dos mapas
  • Como lidar com marcadores sobrepostos
  • Personalização de polilinha

Este guia mostra como usar os novos recursos.

Personalização dos mapas (Beta)

A personalização do Google Maps oferece várias ferramentas e recursos que permitem personalizar e gerenciar mais facilmente a forma como os mapas são estilizados. Em vez de estilizar seu mapa em código usando as APIs e os SDKs do Google Maps, é possível gerenciar e estilizar seus mapas no Console do Google Cloud. Para ver mais informações, consulte Visão geral da personalização de mapas para Android.

Como lidar com marcadores sobrepostos (Beta)

Você pode especificar se os marcadores personalizados poderão modificar as etiquetas padrão do Mapa básico quando houver uma sobreposição e indicar a prioridade relativa entre esses marcadores. Para mais informações, consulte Como lidar com marcadores sobrepostos (Android).

Personalização de polilinha (Beta)

Agora há várias novas maneiras de personalizar a aparência das polilinhas:

  • As polilinhas de várias cores definem segmentos de polilinha com cores diferentes.
  • As polilinhas em gradiente colorem uma polilinha usando um gradiente de duas cores.
  • As polilinhas estampadas definem o estilo de uma polilinha usando bitmaps repetidos.

Como criar uma polilinha de várias cores

É possível usar períodos para segmentos de cor individuais de uma polilinha, criando objetos StyleSpan e adicionando-os a PolylineOptions, usando os métodos addSpan() ou addSpans(). Por padrão, cada item na matriz define a cor do segmento da linha correspondente. O exemplo a seguir mostra a definição de cores de segmentos para criar uma polilinha com segmentos vermelhos e 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))
)
      

Como criar uma polilinha em gradiente

Você pode definir um gradiente especificando dois números inteiros de alfa-vermelho-verde-azul (ARGB, na sigla em inglês) de 32 bits para definir as cores inicial e final do traço. Configure essa propriedade no objeto de opções da forma chamando PolylineOptions.addSpan(). O exemplo a seguir mostra como criar uma polilinha em gradiente vermelho a amarelo, do Woodland Park Zoo em Kirkland, WA.

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

Como criar uma polilinha estampada

Você pode definir a aparência de uma polilinha como uma textura de bitmap repetida. Para fazer isso, crie um StampStyle de TextureStyle e defina essa propriedade no objeto de opções da forma chamando PolylineOptions.addSpan() como mostrado aqui:

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