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: 

Para endereços fora do Brasil, será necessário adicionar o query param globalSearch na URL, da seguinte forma: https://api.maplink.global/geocode/v1/reverse?globalSearch=true

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 – Coordenadas geográficas em latitude/longitude;
    • 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;
    • distance – Distância em metros em relação à coordenada enviada.;
    • 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:

{
    "found": 1,
    "results": [
        {
            "id": "1034bf0c-8d7a-474c-8eb1-6a0108882054",
            "address": {
                "road": "Alameda Campinas",
                "district": "Jardim Paulista",
                "zipCode": "01404000",
                "city": "São Paulo",
                "state": {
                    "code": "SP",
                    "name": "São Paulo"
                },
                "mainLocation": {
                    "lat": -23.5665,
                    "lon": -46.65382
                }
            },
            "type": "ZIPCODE",
            "score": 9976.046,
            "distance": 23.95446729752212,
            "label": "Alameda Campinas, Jardim Paulista, 01404000, São Paulo, São Paulo, SP"
        }
    ]
}

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 paraêmtro id. O primeiro ponto será "L1" e o segundo "L2".

O ponto "L1" deverá retornar resultados em um raio de 25 metros de distância. Para isso usamos o parâmetro distance.

A requisição completa encontra-se abaixo:

{
    "found": 2,
    "results": [
        {
            "id": "L1",
            "address": {
                "road": "Rua Leopoldo Hess",
                "district": "São João",
                "zipCode": "88304260",
                "city": "Itajaí",
                "state": {
                    "code": "SC",
                    "name": "Santa Catarina"
                },
                "mainLocation": {
                    "lat": -26.90309606687984,
                    "lon": -48.68019337952068
                },
                "geometry": [
                    {
                        "lat": -26.90371956910269,
                        "lon": -48.6800353812277
                    },
                    {
                        "lat": -26.90247256465699,
                        "lon": -48.68035137781368
                    }
                ],
                "leftZipCode": "88304260",
                "rightZipCode": "88304260",
                "leftFirstNumber": 2,
                "leftLastNumber": 244,
                "rightFirstNumber": 1,
                "rightLastNumber": 161
            },
            "type": "ROAD",
            "score": 9994.67,
            "distance": 5.329992775797795,
            "label": "Rua Leopoldo Hess, São João, 88304260, Itajaí, Santa Catarina, SC"
        },
        {
            "id": "L2",
            "address": {
                "road": "Avenida Gov. Adolfo Konder",
                "district": "Cidade Nova",
                "zipCode": "88308001",
                "city": "Itajaí",
                "state": {
                    "code": "SC",
                    "name": "Santa Catarina"
                },
                "mainLocation": {
                    "lat": -26.908718086920004,
                    "lon": -48.67877389320046
                },
                "geometry": [
                    {
                        "lat": -26.908539588131305,
                        "lon": -48.67824538861362
                    },
                    {
                        "lat": -26.908896585708703,
                        "lon": -48.679302397787296
                    }
                ],
                "leftZipCode": "88308001",
                "rightZipCode": "88308000",
                "leftFirstNumber": 231,
                "leftLastNumber": 531,
                "rightFirstNumber": 232,
                "rightLastNumber": 532
            },
            "type": "ROAD",
            "score": 9969.358,
            "distance": 30.641980035785615,
            "label": "Avenida Gov. Adolfo Konder, Cidade Nova, 88308001, Itajaí, Santa Catarina, SC"
        }
    ]
}