Este documento aborda como personalizar polilinhas de trajeto para o mapa que você usa no seu app de rastreamento de jornada baseado na Web para usuários consumidores e operadores de frota.
Com o SDK do consumidor, é possível 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
Estilizar polilinhas de rotas
Assim como é possível estilizar marcadores, você pode estilizar 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é mesmo fazer a junção de fontes 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
FleetEngineShipmentLocationProviderOptions
. Esses parâmetros fornecem diferentes estados de caminho na jornada do veículo, conforme segue:
- 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 poligonal 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.taskTrackingInfo.remainingDrivingDistanceMeters;
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: ShipmentPolylineCustomizationFunctionParams) => {
const distance = params.taskTrackingInfo.remainingDrivingDistanceMeters;
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 da rota
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};