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

É possível 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 Consumer 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 seu aplicativo para o 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 da interface imitando os padrões fornecidos pelo construtor MarkerOptions.

  5. Para desativar um marcador, defina a propriedade visible como false. Em seguida, você pode usar seu próprio elemento da 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