Este documento aborda como personalizar polilinhas de trajeto para o mapa usado no seu app de rastreamento de jornada baseado na Web para usuários consumidores e operadores de frota.
Com o SDK para consumidores, você pode controlar a visibilidade ou estilizar a polilinha de uma rota 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
Da mesma forma que você define o estilo dos marcadores, estiliza as polilinhas de trajeto 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 trajeto, use parâmetros fornecidos em FleetEngineShipmentLocationProviderOptions
. Esses parâmetros fornecem diferentes estados de caminho na jornada do veículo, conforme mostrado a seguir:
- 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 esse padrão para personalizar o estilo de qualquer objeto Polyline
usando qualquer um dos parâmetros de personalização de polilinha de trajeto 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};