Personalizar polilinhas do trajeto

Selecione a plataforma: Android iOS JavaScript

Você pode personalizar as polilinhas do trajeto usando o ConsumerMapStyle.setPolylineStyleOptions. Se você definir uma polilinha personalizada elas substituem os valores padrão fornecidos pelo SDK do consumidor.

Para restaurar os valores padrão, chame setPolylineStyleOptions com null para o parâmetro PolylineOptions.

Para recuperar o PolylineOptions ativo, use o método getPolylineStyleOptions.

Para saber mais, consulte ConsumerMapStyle.setPolylineStyleOptions.

Tipos de polilinha de trajeto

É possível personalizar os seguintes tipos de polilinha de rota:

  • ACTIVE_ROUTE
  • REMAINING_ROUTE

ACTIVE_ROUTE e REMAINING_ROUTE são exibidos durante o compartilhamento da viagem e representar o trajeto do veículo.

Propriedades da polilinha do trajeto

O Google Maps fornece propriedades personalizáveis disponíveis para cada polilinha em PolylineOptions:

  • Para criar PolylineOptions, use o construtor.

  • Para especificar propriedades personalizadas, use métodos de estilo "Setter". Como o método fornecer valores padrão para cada propriedade, você só precisará para especificar valores personalizados.

  • Para desativar a polilinha, defina visible como false.

Para mais detalhes, consulte PolylineOptions na documentação do desenvolvedor Android.

Exemplo

Java

// Initializing polyline style options.
consumerController
    .getConsumerMapStyle()
    .addOnSuccessListener(
        consumerMapStyle -> {
          consumerMapStyle.setPolylineStyleOptions(
              PolylineType.ACTIVE_ROUTE,
              new PolylineOptions()
                  .visible(false));
        });

// Reset polyline options to default values.
consumerMapStyle.setPolylineStyleOptions(PolylineType.ACTIVE_ROUTE, null);

Kotlin

// Initializing polyline options.
consumerController
  .getConsumerMapStyle()
  .addOnSuccessListener({ consumerMapStyle ->
    consumerMapStyle.setPolylineStyleOptions(
      PolylineType.ACTIVE_ROUTE,
      PolylineOptions().visible(false)
    )
  })

// Reset polyline options to default values.
consumerMapStyle.setPolylineStyleOptions(PolylineType.ACTIVE_ROUTE, null)

Trajeto ativo e restante

Com o compartilhamento da jornada ativado, seu aplicativo pode personalizar o do usuário usando polilinhas para mostrar o ativo e o restante trajeto para seu veículo.

  • O trajeto ativo é o caminho que o veículo percorre no momento o próximo ponto de referência na viagem ativa do consumidor.

  • O trajeto restante é o caminho que o veículo ainda precisa percorrer a rota ativa. Quando o ponto de passagem da rota ativa é o último ponto de passagem da viagem, a rota restante não existe.

É possível personalizar e controlar a visibilidade das polilinhas ativas e restantes no app. Por padrão, a rota ativa é visível e a restante não.

Exemplo

Java

// Initializing polyline options.
consumerController
    .getConsumerMapStyle()
    .addOnSuccessListener(
        consumerMapStyle -> {
          consumerMapStyle.setPolylineStyleOptions(
              PolylineType.ACTIVE_ROUTE,
              new PolylineOptions()
                  .color(Color.BLUE));
          consumerMapStyle.setPolylineStyleOptions(
              PolylineType.REMAINING_ROUTE,
              new PolylineOptions()
                  .color(Color.BLACK)
                  .width(5)
                  .visible(true));
        });

// Reset polyline options to default values.
consumerMapStyle.setPolylineStyleOptions(PolylineType.ACTIVE_ROUTE, null);
consumerMapStyle.setPolylineStyleOptions(PolylineType.REMAINING_ROUTE, null);

Kotlin

// Initializing polyline options.
consumerController
  .getConsumerMapStyle()
  .addOnSuccessListener({ consumerMapStyle ->
    {
      consumerMapStyle.setPolylineStyleOptions(
        PolylineType.ACTIVE_ROUTE,
        PolylineOptions().color(Color.BLUE)
      )

      consumerMapStyle.setPolylineStyleOptions(
        PolylineType.REMAINING_ROUTE,
        PolylineOptions().color(Color.BLACK).width(5).visible(true)
      )
    }
  })

// Reset polyline options to default values.
consumerMapStyle.setPolylineStyleOptions(PolylineType.ACTIVE_ROUTE, null)

consumerMapStyle.setPolylineStyleOptions(PolylineType.REMAINING_ROUTE, null)

Polilinhas com reconhecimento de tráfego

A camada de tráfego da linha poligonal fica desativada por padrão. Ao ativá-lo, o renderizador desenha segmentos acima da polilinha do trajeto que representam trechos de tráfego fora do normal. Ele inclui um deslocamento dependendo da condição do tráfego. Consulte a documentação do desenvolvedor Android sobre Polilinha para mais informações.

Os mapas do Google representam as condições de trânsito quatro tipos de velocidade. Você pode personalizar a cor de cada tipo de velocidade.

Para ativar polilinhas com informações de tráfego, crie um objeto TrafficStyle e transmita-o para ConsumerMapStyle chamando setPolylineTrafficStyle().

Exemplo

Java

// TrafficStyle is part of the Consumer SDK.
TrafficStyle trafficStyle = TrafficStyle.builder()
  .setTrafficVisibility(true)
  .setTrafficColor(SpeedType.NO_DATA, Color.GREY)
  .setTrafficColor(SpeedType.NORMAL_VALUE, Color.BLUE)
  .setTrafficColor(SpeedType.SLOW_VALUE, Color.ORANGE)
  .setTrafficColor(SpeedType.TRAFFIC_JAM, Color.RED)
  .build();

consumerMapStyle.setPolylineTrafficStyle(PolylineType.ACTIVE_ROUTE, trafficStyle);

Kotlin

// TrafficStyle is part of the Consumer SDK.
val trafficStyle =
  TrafficStyle.builder()
    .setTrafficVisibility(true)
    .setTrafficColor(SpeedType.NO_DATA, Color.GREY)
    .setTrafficColor(SpeedType.NORMAL_VALUE, Color.BLUE)
    .setTrafficColor(SpeedType.SLOW_VALUE, Color.ORANGE)
    .setTrafficColor(SpeedType.TRAFFIC_JAM, Color.RED)
    .build()

consumerMapStyle.setPolylineTrafficStyle(PolylineType.ACTIVE_ROUTE, trafficStyle)