EviavEviav · Docs
← Comparativa Eviav vs Mapbox

Migrar desde Mapbox

Migrar de Mapbox a Eviav es mayormente cambiar el host y el método de autenticación. La mayoría de respuestas son compatibles a nivel de estructura (GeoJSON, OSRM-style routes). Esta guía cubre el mapeo endpoint por endpoint y los gotchas.

Pasos

  1. 1. Crear cuenta y key Registrate en eviav.com/register y generá una API key en el dashboard. El free tier de 100k req/mes ya está activo.
  2. 2. Reemplazar el host api.mapbox.com → api.eviav.com. Los paths cambian a /v1/* (ver tabla abajo).
  3. 3. Mover el token al header Quitar ?access_token= del query y agregar header x-api-key.
  4. 4. Ajustar el parsing Las respuestas de geocoding usan `results[]` en vez de `features[]`. Routing es OSRM-compatible (casi idéntico).
  5. 5. Correr en paralelo Mantené ambos durante unos días, comparás resultados, y cortás Mapbox cuando estés confiado.

Autenticación

Mapbox usa `?access_token=` en el query string. Eviav usa el header `x-api-key: eviav_live_…`. Nunca pongas la API key en el query string (queda en logs). Para tiles en MapLibre, usá @eviav/maps que inyecta el header automáticamente.

Mapeo de endpoints

Geocoding directo

Mapbox: GET /geocoding/v5/mapbox.places/{q}.json?access_token=
Eviav: GET /v1/geocode?q={q}
  • Respuesta: `features[].center` [lon,lat] → `results[].lat` y `results[].lon`.
  • Sesgo geográfico: `proximity=lon,lat` → `lat=&lon=`.
  • El campo de relevancia `relevance` → `confidence` (0-1).

Reverse geocoding

Mapbox: GET /geocoding/v5/mapbox.places/{lon},{lat}.json
Eviav: GET /v1/reverse?lat={lat}&lon={lon}
  • Mapbox toma lon,lat en el path; Eviav toma lat/lon como query params separados.

Directions

Mapbox: GET /directions/v5/mapbox/driving/{coords}
Eviav: GET /v1/directions?coordinates={coords}
  • Ambos OSRM-compatible: `routes[].geometry`, `.distance`, `.duration` idénticos.
  • Coordenadas: Mapbox usa `lon,lat;lon,lat` en path; Eviav las toma en el query `coordinates=`.
  • Perfil: `/driving`, `/walking`, `/cycling` → param `profile` (default driving).

Matrix

Mapbox: GET /directions-matrix/v1/mapbox/driving/{coords}
Eviav: GET /v1/matrix?coordinates={coords}
  • Respuesta `durations[][]` y `distances[][]` con la misma forma.

Isochrone

Mapbox: GET /isochrone/v1/mapbox/driving/{lon},{lat}?contours_minutes=
Eviav: GET /v1/isochrone?lat={lat}&lon={lon}&contours=10,20
  • `contours_minutes=10,20` → `contours=10,20`. Respuesta GeoJSON FeatureCollection compatible.

Static maps

Mapbox: GET /styles/v1/{user}/{style}/static/{overlay}/{lon},{lat},{zoom}/{w}x{h}
Eviav: GET /v1/static?center={lon},{lat}&zoom={zoom}&width={w}&height={h}
  • Eviav usa query params en vez de path posicional. Markers y paths via params dedicados.

Vector tiles (MapLibre)

Mapbox: GET /styles/v1/{user}/{style}/tiles/{z}/{x}/{y}
Eviav: GET /v1/tiles/streets/{z}/{x}/{y}
  • Usá @eviav/maps en vez de mapbox-gl/maplibre-gl directo — inyecta auth y el estilo Eviav.
  • Tilesets disponibles: streets, satellite, terrain, hybrid.

¿Necesitás ayuda con la migración?

Para volúmenes enterprise ofrecemos asistencia de migración con un Solutions Engineer. Hablá con ventas o escribinos a [email protected].