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 jornada. 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. A partir daí, você configura 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 jornada. Por exemplo, colorir o objeto
Polyline
em uma tonalidade mais profunda ou deixá-lo mais espesso quando o veículo estiver mais lento. É possível até mesclar origens de 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 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 esse 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.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};