Neste documento, mostramos como personalizar polilinhas de trajeto para o mapa usado em seu app de rastreamento de jornada baseado na Web para usuários consumidores.
Com o SDK do consumidor, você pode controlar a visibilidade da polilinha de rota ou estilizar a
polilinha de rota para uma rota de viagem no mapa. O SDK cria um objeto google.maps.Polyline
para cada par de coordenadas no caminho ativo ou restante da viagem. A biblioteca aplica essas personalizações em
duas situações:
- antes de adicionar os objetos ao mapa
- quando os dados usados para os objetos mudarem
Estilo das polilinhas de rota
Assim como você pode estilizar marcadores, você estiliza polilinhas de rotas usando parâmetros de personalização. Em seguida, configure o estilo usando uma das seguintes abordagens:
- Mais simples: use
PolylineOptions
para aplicar a todos os objetosPolyline
correspondentes quando eles forem criados ou atualizados. - Avançado: especifique uma função de personalização.
As funções de personalização permitem o estilo individual dos objetos com base nos dados enviados pelo Fleet Engine. A função pode mudar o estilo de cada objeto com base no estado atual da viagem. Por exemplo, colorir o objeto
Polyline
com uma tonalidade mais escura ou torná-lo mais espesso quando o veículo estiver se movendo mais devagar. Você pode até mesclar com origens fora do Fleet Engine e estilizar o objetoPolyline
com base nessas informações.
Parâmetros de personalização
Ao estilizar polilinhas de rota, você usa os parâmetros fornecidos em
FleetEngineTripLocationProviderOptions
. Esses parâmetros fornecem diferentes estados de caminho no percurso do veículo, da seguinte maneira:
- Caminhos Já percorridos: use
takenPolylineCustomization
. - Caminho percorrido ativamente: use
activePolylineCustomization
. - Caminho Ainda não percorrido: use
remainingPolylineCustomization
.
Usar PolylineOptions
O exemplo a seguir mostra como configurar o estilo de um objeto Polyline
com PolylineOptions
. Siga este padrão para personalizar o estilo de
qualquer objeto Polyline
usando qualquer uma das personalizações de polilinha listadas anteriormente.
JavaScript
activePolylineCustomization = {
strokeWidth: 5,
strokeColor: 'black',
};
TypeScript
activePolylineCustomization = {
strokeWidth: 5,
strokeColor: 'black',
};
Usar funções de personalização para estilizar polilinhas de trajeto
O exemplo a seguir mostra como configurar o estilo para uma poligonal de rota ativa. Siga este padrão para personalizar o estilo de qualquer objeto Polyline
usando qualquer um dos parâmetros de personalização de polilinha de rota listados anteriormente.
JavaScript
// Color the route polyline objects in green if the vehicle is nearby.
activePolylineCustomization =
(params) => {
const distance = params.trip.remainingWaypoints[0].distanceMeters;
if (distance < 1000) {
// params.polylines contains an ordered list of Polyline objects for
// the path.
for (const polylineObject of params.polylines) {
polylineObject.setOptions({strokeColor: 'green'});
}
}
};
TypeScript
// Color the route Polyline objects in green if the vehicle is nearby.
activePolylineCustomization =
(params: TripPolylineCustomizationFunctionParams) => {
const distance = params.trip.remainingWaypoints[0].distanceMeters;
if (distance < 1000) {
// params.polylines contains an ordered list of Polyline objects for
// the path.
for (const polylineObject of params.polylines) {
polylineObject.setOptions({strokeColor: 'green'});
}
}
};
Controlar a visibilidade da polilinha do trajeto
Por padrão, todos os objetos Polyline
são visíveis. Para tornar um objeto Polyline
invisível, defina a propriedade visible
:
JavaScript
remainingPolylineCustomization = {visible: false};
TypeScript
remainingPolylineCustomization = {visible: false};