Reverse Geocode API
O objetivo desse segundo endpoint, Reverse Geocode, é retornar informações sobre o endereço a partir de suas coordenadas.
- Lista de parâmetros
- Exemplo 1 – Busca do endereço a partir da coordenada
- Exemplo 2 – Busca do endereço a partir de mais de uma coordenada
Para realizar a requisição para a Reverse Geocode é necessário enviar a requisição usando o método POST para o seguinte endpoint:
A Reverse API foi atualizada para a V2. O endpoint https://api.maplink.global/geocode/v1/reverse ainda continuará funcionando, mas é recomendável utilizar o novo endpoint para maior assertividade de resultados e porque novos recursos serão exclusivos para a nova versão.
Lista de parâmetros
Parâmetros obrigatórios
lat
– Latitude;lon
– Longitude.
Parâmetros opcionais
id
– Texto com o identificador do endereço buscado;distance
– Distância máxima em metros para a busca do endereço.
Nota: Há o limite de 200 pontos para o envio em uma mesma requisição.
Exemplo 1 – Busca do endereço a partir da coordenada
[ { "lat": -23.566617861455924, "lon": -46.65362331449377 } ]
Na resposta, as seguintes informações são retornadas:
found
– Quantidade de registros retornados.results
– Array de objetos com todos os resultados encontrados:id
– Identificador do endereço informado na requisição;address
– Objeto com informações do endereço:road
– Nome da via;district
– Bairro;zipCode
– CEP;city
– Cidade;state
– Estado;mainLocation
– Objeto com as coordenadas geográficas do pontos:lat
– Latitude;lon
– Longitude;
numberAsInteger
– Número do endereço, mas retornado como número inteiro ao invés de string;
type
– Indica qual o melhor elemento encontrado na base cartográfica para o retorno da coordenada geográfica;score
– Pontuação de referência do resultado do processo de geocodificação;label
– Endereço completo encontrado utilizado no processo de geocodificação.
Nota: Quanto maior o score
, maior será a relevância do resultado para o endereço solicitado.
A resposta completa encontra-se abaixo:
{ "results": [ { "id": "6684353bf0662a1541ff635d", "address": { "road": "ALAMEDA CAMPINAS", "district": "JARDIM PAULISTA", "zipCode": "01404000", "city": "SÃO PAULO", "state": { "name": "SÃO PAULO", "code": "SP" }, "mainLocation": { "lat": -23.5663551335, "lon": -46.65364273168 } }, "type": "ROAD", "label": "ALAMEDA CAMPINAS, 01404000, JARDIM PAULISTA, SÃO PAULO, SP", "score": 95.18153327776994, "distance": 29.313601838651707 } ], "found": 1 }
Exemplo 2 – Busca do endereço a partir de mais de uma coordenada
Neste exemplo, iremos buscar resultados para duas coordenadas diferentes. Para isso, precisamos identifica-las com o paramêtro id
. O primeiro ponto será "L1"
e o segundo "L2"
.
O ponto "L1"
deverá retornar resultados em um raio de 500 metros de distância. Para isso usamos o parâmetro distance
.
A requisição completa encontra-se abaixo:
[ { "id": "L1", "lat": -26.90314282963394, "lon": -48.68018153051618, "distance": 500 }, { "id": "L2", "lat": -26.908620508271895, "lon": -48.67848497677373 } ]
A resposta completa encontra-se abaixo:
{ "results": [ { "id": "L1", "address": { "road": "RUA CONCEIÇÃO", "number": "656", "district": "SÃO JOÃO", "zipCode": "88304220", "city": "ITAJAÍ", "state": { "name": "SANTA CATARINA", "code": "SC" }, "mainLocation": { "lat": -26.903700093479443, "lon": -48.680039930963865 }, "numberAsInteger": 656 }, "type": "ROAD", "label": "RUA CONCEIÇÃO, 88304220, SÃO JOÃO, ITAJAÍ, SC", "score": 91.04826378482639, "distance": 63.60663670637282 }, { "id": "L2", "address": { "road": "AVENIDA GOVERNADOR ADOLFO KONDER", "number": "229", "district": "CIDADE NOVA", "zipCode": "88308001", "city": "ITAJAÍ", "state": { "name": "SANTA CATARINA", "code": "SC" }, "mainLocation": { "lat": -26.908558931768667, "lon": -48.67824030691178 }, "numberAsInteger": 229 }, "type": "ROAD", "label": "AVENIDA GOVERNADOR ADOLFO KONDER, 88308001, CIDADE NOVA, ITAJAÍ, SC", "score": 95.79443936391044, "distance": 25.236232052027663 } ], "found": 2 }