Migração

Saindo dos mapas estáticos e tiles do Mapbox quando o uso é só geocodificação

O Mapbox costuma ser adotado como um pacote: geocodificação, imagens de mapas estáticos, tiles vetoriais e a biblioteca de renderização Mapbox GL, tudo sob um único token de acesso e uma única conta. Esse agrupamento faz sentido quando um projeto precisa de uma stack de mapas completa, mas complica uma migração mais restrita, porque uma equipe que só quer trocar o provedor de geocodificação pode descobrir que a chamada de geocodificação e o código de renderização do mapa compartilham configuração, tokens ou até a mesma função wrapper de requisição.

A primeira etapa real deste tipo de migração não é técnica, é a definição do escopo. Decidir explicitamente que os tiles e as imagens de mapas estáticos ficam no Mapbox enquanto apenas a chamada de geocodificação vai para outro lugar evita um erro comum: começar uma migração com uma fronteira pouco clara e acabar alterando pela metade um código que envolve as duas coisas ao mesmo tempo.

O My Geocode é uma API de geocodificação, IP, fuso horário, altitude e consulta de código postal. Ele não renderiza tiles nem imagens de mapas estáticos, então não substitui essa parte de uma integração com o Mapbox, apenas a parte de consulta de endereços. O seu host compatível com Mapbox reproduz a estrutura GeoJSON FeatureCollection que o Mapbox Geocoding retorna, incluindo os campos center, place_name e context, e os textos de copyright, termos e privacidade são a única diferença. Os detalhes de referência estão em /compatibility/mapbox/.

Etapas práticas de separação:

  • Encontre todos os lugares no código em que um token de acesso do Mapbox é lido e determine se aquele ponto específico faz geocodificação, renderização de tiles ou as duas coisas, já que algumas funções wrapper historicamente combinam a consulta de endereço com uma pré-visualização do mapa em uma única chamada
  • Faça as chamadas específicas de geocodificação usarem uma chave diferente em um host diferente, deixando as chamadas de tiles e de mapas estáticos apontadas para o Mapbox com o token atual, sem alterações
  • Confirme que o componente de mapa no front-end não presume que o resultado da geocodificação e os tiles do mapa usam o mesmo sistema de referência de coordenadas ou a mesma convenção de projeção, já que isso raramente é um problema, mas vale uma verificação rápida

A autenticação do host compatível de geocodificação funciona com uma chave enviada como X-API-Key, Authorization: Bearer, autenticação HTTP Basic ou parâmetro de consulta. São 2.500 requisições gratuitas por dia sem chave, outras 2.500 gratuitas por chave por dia, contadas por rede, e depois crédito pré-pago a € 0,0001 por requisição ou uma chave Unlimited a € 50 por mês, o mesmo valor aplicado a todos os endpoints, incluindo este.

Operar dois provedores lado a lado, um para renderização de mapas e outro para consulta de endereços, é uma configuração estável de longo prazo, e não um estado temporário a ser eliminado. Muitas aplicações em produção dividem deliberadamente mapas e geocodificação entre fornecedores diferentes, já que as duas capacidades têm fatores de custo e requisitos técnicos diferentes, e não há nenhuma obrigação de consolidá-las em uma única conta só porque começaram assim.