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. 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. Reemplazar el host api.mapbox.com → api.eviav.com. Los paths cambian a /v1/* (ver tabla abajo).
- 3. Mover el token al header Quitar ?access_token= del query y agregar header x-api-key.
- 4. Ajustar el parsing Las respuestas de geocoding usan `results[]` en vez de `features[]`. Routing es OSRM-compatible (casi idéntico).
- 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}.jsonEviav:
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].