En este documento, se explica cómo personalizar el aspecto de un mapa y controlar la visibilidad de los datos y las opciones de viewport. Puedes hacerlo de las siguientes maneras:
- Usar el diseño de mapas basado en la nube
- Establecer opciones de diseño de mapas directamente en tu propio código
Diseñar el mapa con el diseño de mapas basado en Cloud
Para aplicar un diseño de mapa a tu mapa de uso compartido de viajes del consumidor de JavaScript, especifica un
mapId y
cualquier otro
mapOptions
cuando crees el JourneySharingMapView.
En los siguientes ejemplos, se muestra cómo aplicar un diseño de mapa con un ID de mapa.
JavaScript
const mapView = new google.maps.journeySharing.JourneySharingMapView({
element: document.getElementById('map_canvas'),
locationProviders: [locationProvider],
mapOptions: {
mapId: 'YOUR_MAP_ID'
}
// Any other styling options.
});
TypeScript
const mapView = new google.maps.journeySharing.JourneySharingMapView({
element: document.getElementById('map_canvas'),
locationProviders: [locationProvider],
mapOptions: {
mapId: 'YOUR_MAP_ID'
}
// Any other styling options.
});
Cómo diseñar mapas directamente en tu propio código
También puedes personalizar el diseño del mapa si estableces opciones de mapa cuando creas el JourneySharingMapView. En los siguientes ejemplos, se muestra cómo diseñar un mapa con opciones de mapa. Para obtener más información sobre las opciones de mapa que puedes establecer, consulta
mapOptions
en la referencia de la API de Maps JavaScript.
JavaScript
const mapView = new google.maps.journeySharing.JourneySharingMapView({
element: document.getElementById('map_canvas'),
locationProviders: [locationProvider],
mapOptions: {
styles: [
{
"featureType": "road.arterial",
"elementType": "geometry",
"stylers": [
{ "color": "#CCFFFF" }
]
}
]
}
});
TypeScript
const mapView = new google.maps.journeySharing.JourneySharingMapView({
element: document.getElementById('map_canvas'),
locationProviders: [locationProvider],
mapOptions: {
styles: [
{
"featureType": "road.arterial",
"elementType": "geometry",
"stylers": [
{ "color": "#CCFFFF" }
]
}
]
}
});
Cómo controlar la visibilidad de los datos de tareas en el SDK
Puedes controlar la visibilidad de ciertos objetos de tareas en el mapa con reglas de visibilidad.
Visibilidad predeterminada de los datos de tareas
De forma predeterminada, los datos de las tareas asignadas a un vehículo son visibles cuando el vehículo se encuentra a 5 paradas de la tarea. La visibilidad finaliza cuando se completa o cancela la tarea.
En esta tabla, se muestra la visibilidad predeterminada para cada tipo de tarea. Puedes personalizar la visibilidad de muchas tareas, pero no de todas. Para obtener más detalles sobre los tipos de tareas, consulta Tipos de tareas en la guía de Tareas programadas.
| Tipo de tarea | Visibilidad predeterminada | ¿Quieres que sea personalizable | Descripción |
|---|---|---|---|
| Tareas de no disponibilidad | No visible | No | Se usa para los descansos y el reabastecimiento de combustible del conductor. Si una ruta a una tarea de entrega también contiene otra parada de vehículo, esa parada no se muestra si solo contiene tareas de no disponibilidad. La hora estimada de llegada y la hora estimada de finalización de la tarea aún se muestran para la tarea de entrega. |
| Tareas de vehículos abiertos | Visible | Sí | La visibilidad finaliza cuando se completa o cancela la tarea. Puedes personalizar la visibilidad de las tareas de vehículos abiertos. Consulta Cómo personalizar la visibilidad de las tareas de vehículos abiertos. |
| Tareas de vehículos cerrados | No visible | No | No puedes personalizar la visibilidad de las tareas de vehículos cerrados. |
Cómo personalizar la visibilidad de las tareas de vehículos abiertos
La interfaz TaskTrackingInfo proporciona varios elementos de datos de tareas
que se pueden hacer visibles con el SDK de consumidor.
| Elementos de datos de tareas personalizables | |
|---|---|
|
Polilíneas de ruta Tiempo estimado de llegada Tiempo estimado de finalización de la tarea |
Distancia de conducción restante a la tarea Cantidad de paradas restantes Ubicación del vehículo |
Opciones de visibilidad por tarea
Puedes personalizar la configuración de visibilidad por tarea si estableces
el TaskTrackingViewConfig cuando creas o actualizas una tarea en
Fleet Engine. Usa las siguientes opciones de visibilidad para crear criterios que determinen la visibilidad de un elemento de tarea:
| Opciones de visibilidad | ||
|---|---|---|
|
Cantidad de paradas restantes Duración hasta la hora estimada de llegada Distancia de conducción restante |
Siempre visible Nunca visible |
|
Para ilustrar, supongamos que una personalización de ejemplo ajusta la visibilidad de tres elementos de datos con los criterios que se muestran en la siguiente tabla. Todos los demás elementos siguen las reglas de visibilidad predeterminadas.
| Elemento de datos que se ajustará | Visibilidad | Criterio |
|---|---|---|
| Polilínea de ruta | Mostrar | El vehículo se encuentra a 3 paradas. |
| ETA | Mostrar | La distancia de conducción restante es inferior a 5,000 metros. |
| Cantidad de paradas restantes | No mostrar nunca | El vehículo se encuentra a 3 paradas. |
En el siguiente diagrama, se muestra esta configuración:
"taskTrackingViewConfig": {
"routePolylinePointsVisibility": {
"remainingStopCountThreshold": 3
},
"estimatedArrivalTimeVisibility": {
"remainingDrivingDistanceMetersThreshold": 5000
},
"remainingStopCountVisibility": {
"never": true
}
}
Reglas de visibilidad de las polilíneas de ruta y la ubicación del vehículo
Las polilíneas de ruta no pueden ser visibles a menos que la ubicación del vehículo también lo sea; de lo contrario, la ubicación del vehículo se puede inferir al final de una polilínea.
Estos lineamientos te ayudan a proporcionar una combinación válida para las opciones de visibilidad de las polilíneas de ruta y la ubicación del vehículo.
| Mismas opciones de visibilidad | Criterio de visibilidad | Orientación |
|---|---|---|
| Opciones de polilíneas de ruta configuradas para que siempre sean visibles | Configura la ubicación del vehículo para que siempre sea visible. | |
| Ubicación del vehículo configurada para que nunca sea visible | Configura las polilíneas de ruta para que nunca sean visibles. | |
La opción de visibilidad es cualquiera de las siguientes:
|
Establece las opciones de polilíneas de ruta en un valor menor o igual que el valor establecido para la ubicación del vehículo. Por ejemplo: "taskTrackingViewConfig": {
"routePolylinePointsVisibility": {
"remainingStopCountThreshold": 3
},
"vehicleLocationVisibility": {
"remainingStopCountThreshold": 5
},
}
|
|
| Diferentes opciones de visibilidad | Criterios de visibilidad | Orientación |
| La ubicación del vehículo es visible | Esto solo sucede cuando se cumplen ambas opciones de visibilidad de la ubicación del vehículo y de la polilínea. Por ejemplo: "taskTrackingViewConfig": {
"routePolylinePointsVisibility": {
"remainingStopCountThreshold": 3
},
"vehicleLocationVisibility": {
"remainingDrivingDistanceMetersThreshold": 3000
},
}En este ejemplo, la ubicación del vehículo solo es visible si la cantidad de paradas restantes es de al menos 3 Y la distancia de conducción restante es de al menos 3,000 metros. |
Cómo inhabilitar el ajuste automático
Puedes evitar que el mapa ajuste automáticamente el viewport al vehículo y la ruta prevista si inhabilitas el ajuste automático. En el siguiente ejemplo, se muestra cómo inhabilitar el ajuste automático cuando configuras la vista de mapa de uso compartido de viajes.
JavaScript
const mapView = new
google.maps.journeySharing.JourneySharingMapView({
element: document.getElementById('map_canvas'),
locationProviders: [locationProvider],
automaticViewportMode:
google.maps.journeySharing
.AutomaticViewportMode.NONE,
...
});
TypeScript
const mapView = new
google.maps.journeySharing.JourneySharingMapView({
element: document.getElementById('map_canvas'),
locationProviders: [locationProvider],
automaticViewportMode:
google.maps.journeySharing
.AutomaticViewportMode.NONE,
...
});