+ {/* Placeholder map background */}
+
+
+ {/* Trip origins (markers) */}
+ {viajes
+ .filter((v) => v.origenCoords)
+ .map((viaje) => {
+ const coords = transformCoords(
+ viaje.origenCoords!.latitud,
+ viaje.origenCoords!.longitud
+ );
+ const isSelected = selectedViaje === viaje.id;
+ return (
+
onSelectViaje(isSelected ? null : viaje.id)}
+ className={`absolute cursor-pointer transition-all ${
+ isSelected ? 'z-20 scale-125' : 'z-10'
+ }`}
+ style={{
+ left: `${coords.x}%`,
+ top: `${coords.y}%`,
+ transform: 'translate(-50%, -50%)',
+ }}
+ title={`${viaje.folio}: ${viaje.origen}`}
+ >
+
+
+ );
+ })}
+
+ {/* Unit positions (truck icons) */}
+ {unidades
+ .filter((u) => u.ubicacionActual)
+ .map((unidad) => {
+ const coords = transformCoords(
+ unidad.ubicacionActual!.latitud,
+ unidad.ubicacionActual!.longitud
+ );
+ const isSelected = selectedUnidad === unidad.id;
+ return (
+
onSelectUnidad(isSelected ? null : unidad.id)}
+ className={`absolute cursor-pointer transition-all ${
+ isSelected ? 'z-30 scale-125' : 'z-20'
+ }`}
+ style={{
+ left: `${coords.x}%`,
+ top: `${coords.y}%`,
+ transform: 'translate(-50%, -50%)',
+ }}
+ title={`${unidad.numeroEconomico} - ${statusLabels[unidad.estado]}`}
+ >
+
+ {isSelected && (
+
+ {unidad.numeroEconomico}
+
+ )}
+
+ );
+ })}
+