Como 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 conflito de marcadores
  • 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 para 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 conflito de marcadores (Beta)

Você pode especificar se os marcadores personalizados poderão substituir as etiquetas padrão do Mapa básico quando houver um conflito e indicar a prioridade relativa entre esses marcadores. Para mais informações, consulte Como lidar com conflito de marcadores (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:

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

      

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.

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

      

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:

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

      

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 (link em inglês), será necessário atualizar as dependências do projeto para substituir a versão atual por aquela que é compatível com a Beta. Para isso:

  1. Importe a biblioteca de utilitários compatível com a versão Beta no arquivo build.gradle:
    implementation 'com.google.maps.android:android-maps-utils-v3:1.3.1'
    
  2. Remova o seguinte do build.gradle para excluir a biblioteca de utilitários não compatível 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).