Personalizar marcadores

Selecione a plataforma: Android iOS JavaScript

A classe ConsumerMapStyle fornece métodos setter e getter com personalização dinâmica para marcadores e polilinhas. Você expõe essa classe de forma assíncrona usando o método ConsumerController.getConsumerMapStyle().

A personalização da interface do usuário persiste nas rotações do dispositivo e permanece em vigor até que você desconecte o ConsumerController.

Personalizar marcadores

Para definir o tipo de marcador e as propriedades dele, use o método ConsumerMapStyle.setMarkerStyleOptions(). Suas opções de marcador personalizadas substituem os valores padrão fornecidos pelo SDK do consumidor. Para restaurar os valores padrão, chame setMarkerStyleOptions() usando null para o parâmetro MarkerOptions. Recupere o MarkerOptions ativo usando getMarkerStyleOptions().

Selecione um tipo de marcador

Você pode usar e personalizar os seguintes ícones de marcador:

  • TRIP_PICKUP_POINT: aparece ao seguir uma viagem
  • TRIP_DROPOFF_POINT: aparece ao seguir uma viagem
  • TRIP_INTERMEDIATE_DESTINATION
  • TRIP_VEHICLE: aparece ao seguir uma viagem

    O SDK do consumidor atualiza a rotação do ícone TRIP_VEHICLE durante o monitoramento da viagem para imitar o comportamento do veículo real enquanto ele percorre o trajeto.

Selecionar opções de marcador

Para personalizar marcadores no app do consumidor, siga estas etapas:

  1. Use as propriedades de cada marcador fornecidas pelo Google Maps MarkerOptions.

  2. Crie MarkerOptions usando o construtor.

  3. Especifique propriedades personalizadas usando métodos de estilo "Setter".

  4. Se preferir, use seu próprio elemento de interface imitando os padrões fornecidos pelo construtor MarkerOptions.

  5. Para desativar um marcador, defina a propriedade visible como false. Depois, você pode usar seu próprio elemento de interface no lugar dele.

Para mais informações, consulte MarkerOptions do Google Maps.

Exemplos de personalizações de marcadores

Java

// Initializing marker options.
consumerController
    .getConsumerMapStyle()
    .addOnSuccessListener(
        consumerMapStyle -> {
          consumerMapStyle.setMarkerStyleOptions(
              MarkerType.TRIP_VEHICLE,
              new MarkerOptions()
                  .visible(false));
        });

// Reset marker options to default values.
consumerMapStyle.setMarkerStyleOptions(MarkerType.TRIP_VEHICLE, null);

Kotlin

// Initializing marker options.
consumerController
  .getConsumerMapStyle()
  .addOnSuccessListener({ consumerMapStyle ->
    consumerMapStyle.setMarkerStyleOptions(MarkerType.TRIP_VEHICLE, MarkerOptions().visible(false))
  })

// Reset marker options to default values.
consumerMapStyle.setMarkerStyleOptions(MarkerType.TRIP_VEHICLE, null)

A seguir