Personalizar marcadores

Selecione a plataforma: Android iOS JavaScript

A classe ConsumerMapStyle oferece 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 persiste nas rotações do dispositivo e permanece em vigor até que você remova 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 personalizado 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. Extraia o MarkerOptions ativo usando getMarkerStyleOptions().

Selecionar 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 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 marcadores

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

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

  2. Crie MarkerOptions usando o construtor.

  3. Especifique propriedades personalizadas usando métodos do 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. Em seguida, use seu próprio elemento de interface no lugar dele.

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

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