En este documento, se explica cómo personalizar las polilíneas de rutas para el mapa que usas en tu app web de seguimiento de viajes para usuarios finales y operadores de flotas.
Con el SDK de Consumer, puedes controlar la visibilidad de la polilínea de la ruta o darle un estilo a la polilínea de la ruta de un viaje en el mapa. El SDK crea un objeto google.maps.Polyline
para cada par de coordenadas en la ruta activa o restante del viaje. Luego, la biblioteca aplica estas personalizaciones en dos situaciones:
- antes de agregar los objetos al mapa
- Cuando cambiaron los datos que se usaron para los objetos
Cómo aplicar diseño a polilíneas de rutas
Al igual que con los marcadores, puedes aplicar un diseño a las polilíneas de rutas con parámetros de personalización. Desde allí, puedes configurar el diseño con uno de los siguientes enfoques:
- Más simple: Usa
PolylineOptions
para aplicar a todos los objetosPolyline
coincidentes cuando se creen o actualicen. - Avanzado: Especifica una función de personalización.
Las funciones de personalización permiten aplicar un diseño individual a los objetos según los datos que envía Fleet Engine. La función puede cambiar el diseño de cada objeto según el estado actual del viaje, por ejemplo, colorear el objeto
Polyline
con un tono más oscuro o hacerlo más grueso cuando el vehículo se mueve más lento. Incluso puedes unir datos de fuentes externas a Fleet Engine y aplicar un diseño al objetoPolyline
según esa información.
Parámetros de personalización
Cuando aplicas un diseño a las polilíneas de rutas, usas los parámetros que se proporcionan en FleetEngineShipmentLocationProviderOptions
. Estos parámetros proporcionan diferentes estados de la ruta en el viaje del vehículo, de la siguiente manera:
- Rutas ya recorridas: Usa
takenPolylineCustomization
. - Ruta recorrida de forma activa: Usa
activePolylineCustomization
. - Ruta aún no recorrida: Usa
remainingPolylineCustomization
.
Usa PolylineOptions
En el siguiente ejemplo, se muestra cómo configurar el diseño de un objeto Polyline
con PolylineOptions
. Sigue este patrón para personalizar el diseño de cualquier objeto Polyline
con cualquiera de las personalizaciones de polilíneas que se mencionaron anteriormente.
JavaScript
activePolylineCustomization = {
strokeWidth: 5,
strokeColor: 'black',
};
TypeScript
activePolylineCustomization = {
strokeWidth: 5,
strokeColor: 'black',
};
Usa funciones de personalización para diseñar polilíneas de rutas
En el siguiente ejemplo, se muestra cómo configurar el diseño de una polilínea de ruta activa. Sigue este patrón para personalizar el diseño de cualquier objeto Polyline
con cualquiera de los parámetros de personalización de polilíneas de rutas que se mencionaron 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'});
}
}
};
Cómo controlar la visibilidad de la polilínea de la ruta
De forma predeterminada, todos los objetos Polyline
son visibles. Para que un objeto Polyline
sea invisible, establece su propiedad visible
de la siguiente manera:
JavaScript
remainingPolylineCustomization = {visible: false};
TypeScript
remainingPolylineCustomization = {visible: false};