Usar o SDK do Maps para Android v3.1.0 Beta

A versão 3.1.0 Beta 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 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)

Com a estilização de mapas baseada na nuvem, você tem 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 substituir 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 com 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 determinar 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 até 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)
)

      

Importar a biblioteca de utilitários compatível com a versão Beta

Se você estiver usando a biblioteca de utilitários da API Google Maps Android (em inglês), vai ser necessário atualizar as dependências do projeto para substituir a versão atual por aquela que é compatível com a versão Beta. Para isso, faça o seguinte:

  1. Importe a biblioteca util compatível com a versão Beta no seu arquivo build.gradle:
    implementation 'com.google.maps.android:android-maps-utils-v3:1.3.1'
    
  2. Remova o seguinte do seu build.gradle para excluir a biblioteca de utilitários não compatíveis com a versão Beta:
    implementation 'com.google.maps.android:android-maps-utils:1.3.1'
    

Executar as amostras

O repositório de amostras do Google no GitHub inclui apps de exemplo que demonstram o uso do SDK do Maps para Android v3.1.0 Beta (links em inglês).