@cargoffer/polyline: decodificar y codificar rutas de TRANSCEND
·1 1 min read
@cargoffer/polyline: decodificar y codificar rutas de TRANSCEND
TRANSCEND devuelve las rutas como polilíneas codificadas Google (algoritmo de precisión 5 o 6). El paquete @cargoffer/polyline es un reemplazo minimalista y 100% compatible de @mapbox/polyline, sin dependencias, para decodificar y codificar esas rutas en tu frontend o backend.
Instalación
npm install @cargoffer/polyline
Repositorio: github.com/cargoffer/polyline (npm: @cargoffer/polyline, v1.0.1).
Uso
import { decode, encode } from "@cargoffer/polyline";
// Decodificar la ruta que devuelve TRANSCEND
const coords = decode("kvhlH~ibmV_@_@i@");
// => [ [lat, lng], ... ] (precision 5 por defecto)
// Precision 6 (requerida para rutas de gran detalle)
const coords6 = decode("polyline_precision_6_...", 6);
// Codificar de vuelta
const poly = encode(coords);
Por qué no usar @mapbox/polyline
- 0 dependencias (el paquete de Mapbox arrastra utilidades innecesarias).
- Precision 5 y 6 explícitas — TRANSCEND usa ambas según el módulo (Route precision 5, isocronas precision 6).
- Propiedad de Cargoffer para el ecosistema TRANSCEND: mantenido al ritmo de la API.
Casos de uso
- Renderizar la ruta en un mapa: decodifica la polilínea de
client.routes.optimizey pásala a Leaflet/Mapbox GL. - Calcular distancia real: decodifica y suma segmentos para distancia exacta (no la estimación great-circle).
- Interpolar POIs: usa
decode+client.poi.getAlongPathpara colocar parkings cada N km.
Preguntas frecuentes
¿Es compatible con el formato de Google Maps? Sí, 100% compatible con la codificación polyline de Google. Puedes pegar una polilínea de Google Maps y decodificarla.
¿Funciona en Node y navegador? Sí, es JavaScript puro, sin APIs del navegador.