Migração

Migrando do Mapbox Geocoding

O Mapbox Geocoding retorna os resultados como uma FeatureCollection GeoJSON, uma escolha deliberada que facilita entregar a saída diretamente ao Mapbox GL ou a qualquer outra biblioteca de mapas compatível com GeoJSON. Cada feature traz um par de coordenadas center, uma string place_name e um array context que descreve a região, o país e o código postal em que ela está. A autenticação é feita com um token de acesso, normalmente passado como parâmetro de consulta, e muitas equipes também usam o mesmo token para os tiles do mapa web e para as chamadas de geocodificação.

Esse uso duplo de um único token merece atenção antes de uma migração, porque significa que a chamada de geocodificação e a chamada de renderização do mapa costumam estar mais entrelaçadas no código da aplicação do que parece à primeira vista. Separá-las de forma limpa, para que a requisição de geocodificação possa apontar para um novo host enquanto os tiles do mapa continuam onde estão, costuma ser a primeira decisão real a tomar.

O host compatível com Mapbox do My Geocode reproduz a estrutura FeatureCollection, incluindo os campos center, place_name e context, então o código construído em torno de response.features[0].center continua funcionando após a troca. Apenas os textos de copyright, termos e privacidade na resposta diferem dos do próprio Mapbox. A referência de campos está em /compatibility/mapbox/.

Algumas observações práticas para equipes que fazem esta migração:

  • Se o seu front-end chama o Mapbox Geocoding diretamente a partir de JavaScript no lado do cliente, vale a pena considerar mover essa chamada primeiro para um proxy no servidor, seja qual for o provedor escolhido, já que isso mantém as chaves de API fora do código do navegador
  • A autenticação aceita um cabeçalho X-API-Key, um cabeçalho Authorization: Bearer, autenticação HTTP Basic ou um parâmetro de consulta, então o estilo que o seu cliente Mapbox atual usa para o token de acesso deve corresponder a um desses
  • Se você depende dos parâmetros de proximidade ou de bounding box do Mapbox para priorizar resultados de uma região, consulte a documentação do host compatível para ver os nomes de parâmetros equivalentes antes de presumir que eles se mantêm sem alterações

Os preços eliminam a estrutura de faixas de token que cresce com os níveis de uso em muitas plataformas de mapas. Aqui, 2.500 requisições por dia são gratuitas sem nenhuma chave, e cada chave também tem as próprias 2.500 requisições gratuitas por dia, contadas por rede. Depois disso, vale o crédito pré-pago a € 0,0001 por requisição ou uma chave Unlimited a € 50 por mês, e todos os endpoints, incluindo este host compatível, custam o mesmo valor.

Como o Mapbox é usado com frequência junto com tiles de mapa e imagens de mapas estáticos, e não só para geocodificação, vale a pena deixar claro o escopo: o My Geocode é uma API de geocodificação, IP, fuso horário, altitude e consulta de código postal, e não um provedor de tiles ou de mapas base. Equipes que mantêm a renderização de mapas atual e movem apenas a consulta de endereços para um novo host devem esperar operar dois provedores lado a lado por um tempo, um para tiles e outro para geocodificação, o que é uma forma normal e estável de dividir o trabalho, e não um estado temporário a ser superado às pressas.