Migración

Dejar los mapas estáticos y las teselas de Mapbox cuando solo usas la geocodificación

Mapbox se adopta a menudo como un paquete completo: geocodificación, imágenes de mapas estáticos, teselas vectoriales y la biblioteca de renderizado Mapbox GL, todo con un mismo token de acceso y una misma cuenta. Esa agrupación tiene sentido cuando un proyecto necesita una pila de mapas completa, pero complica una migración más acotada, porque un equipo que solo quiere cambiar de proveedor de geocodificación puede encontrarse con que la llamada de geocodificación y el código de renderizado del mapa comparten configuración, tokens o incluso la misma función envoltorio de solicitudes.

El primer paso real en este tipo de migración no es técnico, es definir el alcance. Decidir de forma explícita que las teselas y las imágenes de mapas estáticos se quedan en Mapbox mientras solo la llamada de geocodificación se traslada a otro sitio evita un fallo habitual: empezar una migración con un límite poco claro y acabar cambiando a medias código que afecta a ambas cosas a la vez.

My Geocode es una API de geocodificación, IP, zona horaria, elevación y consulta de códigos postales. No renderiza teselas de mapa ni imágenes de mapas estáticos, así que no sustituye esa parte de una integración con Mapbox, solo la de búsqueda de direcciones. Su host de compatibilidad de Mapbox reproduce la estructura FeatureCollection de GeoJSON que devuelve Mapbox Geocoding, incluidos los campos center, place_name y context, y los textos de copyright, términos y privacidad son la única diferencia. Los detalles de referencia están en /compatibility/mapbox/.

Pasos prácticos para la separación:

  • Localiza cada lugar del código en el que se lee un token de acceso de Mapbox y determina si ese punto concreto hace geocodificación, renderizado de teselas o ambas cosas, ya que algunas funciones envoltorio combinan desde hace tiempo la búsqueda de direcciones con una vista previa del mapa en una sola llamada
  • Haz que las llamadas específicas de geocodificación usen una clave distinta de un host distinto, y deja las llamadas de teselas y mapas estáticos apuntando a Mapbox con su token actual sin cambios
  • Confirma que el componente de mapa del front end no da por hecho que el resultado de geocodificación y las teselas del mapa vienen del mismo sistema de referencia de coordenadas o de la misma convención de proyección, ya que esto rara vez es un problema, pero merece una comprobación rápida

La autenticación del host de compatibilidad de geocodificación funciona con una clave como X-API-Key, Authorization: Bearer, autenticación HTTP Basic o un parámetro de consulta. Hay 2.500 solicitudes gratuitas al día sin clave, otras 2.500 gratuitas por clave y por día, contadas por red, y después crédito prepago a 0,0001 € por solicitud o una clave Unlimited a 50 € al mes, la misma tarifa que se aplica a todos los endpoints, incluido este.

Usar dos proveedores en paralelo, uno para el renderizado de mapas y otro para la búsqueda de direcciones, es una configuración estable a largo plazo y no un estado temporal que haya que eliminar. Muchas aplicaciones en producción reparten deliberadamente los mapas y la geocodificación entre proveedores distintos, ya que ambas capacidades tienen factores de coste y requisitos técnicos diferentes, y no hay ninguna obligación de unificarlas en una sola cuenta solo porque empezaran así.