Geocode

Reverse Geocode API

O objetivo desse segundo endpoint, Reverse Geocode, é retornar informações sobre o endereço a partir de suas coordenadas.

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. O valor padrão é 2.000 (2 Km) e o valor máximo é até 100.000 (100 Km)

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
    }
]

A descrição de cada campo presente na resposta pode ser conferida no link a seguir: Estrutura de resposta – Geocode API.

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,
            "precision": "ROAD_CENTROID"
        }
    ],
    "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 LEOPOLDO HESS",
                "number": "54",
                "district": "SÃO JOÃO",
                "zipCode": "88304260",
                "city": "ITAJAÍ",
                "state": {
                    "name": "SANTA CATARINA",
                    "code": "SC"
                },
                "mainLocation": {
                    "lat": -26.903134,
                    "lon": -48.680257
                },
                "numberAsInteger": 54
            },
            "type": "ROAD",
            "label": "RUA LEOPOLDO HESS, 88304260, SÃO JOÃO, ITAJAÍ, SC",
            "score": 98.96608277648525,
            "distance": 7.556140571987315,
            "precision": "NUMBER_EXACT"
        },
        {
            "id": "L2",
            "address": {
                "road": "RUA HEITOR LIBERATO",
                "number": "2057",
                "district": "SÃO JUDAS",
                "zipCode": "88303101",
                "city": "ITAJAÍ",
                "state": {
                    "name": "SANTA CATARINA",
                    "code": "SC"
                },
                "mainLocation": {
                    "lat": -26.908564,
                    "lon": -48.67848
                },
                "numberAsInteger": 2057
            },
            "type": "ROAD",
            "label": "RUA HEITOR LIBERATO, 88303101, SÃO JUDAS, ITAJAÍ, SC",
            "score": 99.21863668889449,
            "distance": 6.309805167165782,
            "precision": "NUMBER_EXACT"
        }
    ],
    "found": 2
}