Geocodificação
Pesquisa de locais e endereços, o que está num ponto e consultas NIPOST, GhanaPost e Plus Code.
Nesta página
Envie a sua chave com key=A_SUA_CHAVE_API no endereço, ou no cabeçalho X-NWays-Api-Key. Chaves de API
Endereço base: https://nways.ng/maps/v1
Pesquisar locais, endereços e códigos
GET https://nways.ng/maps/v1/geocode
Locais, ruas, endereços, pontos de referência, negócios e zonas em todos os países cobertos, com erros de escrita e alcunhas locais; um código postal NIPOST encontra o seu edifício, um endereço GhanaPost GPS o seu ponto. Resultados mais próximos primeiro quando near é indicado. Motivos: QUERY_REQUIRED, QUERY_TOO_LONG, NEAR_INVALID, COUNTRY_INVALID, LIMIT_INVALID, LANG_INVALID.
Parâmetros
| Nome | Onde | Tipo | Descrição |
|---|---|---|---|
q | consulta | string | Obrigatório. Até 200 caracteres. |
near | consulta | string | lat,lng: ordenar e escolher resultados perto deste ponto. |
country | consulta | string | Lista separada por vírgulas de NG, GH, BJ, TG, GA, CI, LR, GN, SL, GW, SN, CM, BF, CV, GM. |
limit | consulta | integer | Predefinição: 8. ≥ 1, ≤ 20. |
lang | consulta | string | Um de: en, fr, pt. Predefinição: en. |
fields | consulta | string | Lista separada por vírgulas dos campos a manter em cada resultado (a.b entra em objetos; id é sempre mantido; * = todos). |
curl "https://nways.ng/maps/v1/geocode?q=Ikeja+City+Mall" \
-H "X-NWays-Api-Key: A_SUA_CHAVE_API"const res = await fetch('https://nways.ng/maps/v1/geocode?q=Ikeja+City+Mall', {
headers: { 'X-NWays-Api-Key': process.env.NWAYS_API_KEY },
})
const data = await res.json()import os
import requests
res = requests.get(
"https://nways.ng/maps/v1/geocode?q=Ikeja+City+Mall",
headers={"X-NWays-Api-Key": os.environ["NWAYS_API_KEY"]},
timeout=10,
)
data = res.json()Resposta
Resultados
| Campo | Tipo | Descrição |
|---|---|---|
results | Result[] | Obrigatório. |
results[].id | string | Obrigatório. |
results[].name | string | Obrigatório. |
results[].type | string | Obrigatório. address, street, business, landmark, building, postcode, ghanapost, ou uma zona: neighbourhood, suburb, village, town, city, state… |
results[].category | string | |
results[].location | Point | Obrigatório. |
results[].location.type | string | Obrigatório. |
results[].location.coordinates | number[] | Obrigatório. [lng, lat] Pelo menos 2 elementos, no máximo 2 elementos. |
results[].bbox | number[] | oeste, sul, este, norte (zonas) Pelo menos 4 elementos, no máximo 4 elementos. |
results[].formattedAddress | string | |
results[].postcode | string | Código postal NIPOST, compacto |
results[].ghanaPost | string | |
results[].plusCode | string | Obrigatório. |
results[].country | string | |
results[].distanceM | number | A partir de near (ou do ponto consultado). |
results[].estimated | boolean | O ponto é uma estimativa, dentro de accuracyM. |
results[].accuracyM | number | |
results[].placeId | string | Um negócio: o seu id para /places/{id}. |
results[].attribution | string | |
didYouMean | string | |
attribution | string | Obrigatório. |
{
"results": [
{
"id": "osm:w568367632",
"name": "Ikeja City Mall",
"type": "landmark",
"category": "shopping",
"location": {
"type": "string",
"coordinates": [
0
]
},
"bbox": [
0
],
"formattedAddress": "Ikeja, Lagos",
"postcode": "LA08A09DB09",
"ghanaPost": "GA-183-8164",
"plusCode": "6FR5J975+P4W",
"country": "NG",
"distanceM": 0,
"estimated": true,
"accuracyM": 0,
"placeId": "string",
"attribution": "string"
}
],
"didYouMean": "string",
"attribution": "string"
}Erros
defaultErro
O que está num ponto
GET https://nways.ng/maps/v1/reverse
Uma só forma em todos os países cobertos: o país e a região, o Plus Code, o código postal NIPOST da Nigéria (o edifício ao alcance), o endereço GhanaPost GPS conhecido mais próximo no Gana e o endereço, rua ou ponto de referência com nome mais próximo (senão a zona), com um endereço numa linha. Motivos: LAT_LNG_REQUIRED, RADIUS_INVALID, LANG_INVALID.
Parâmetros
| Nome | Onde | Tipo | Descrição |
|---|---|---|---|
lat | consulta | number | Obrigatório. |
lng | consulta | number | Obrigatório. |
radius | consulta | number | Até onde procurar um endereço, rua ou ponto de referência (metros). Predefinição: 200. ≥ 10, ≤ 1000. |
lang | consulta | string | Um de: en, fr, pt. Predefinição: en. |
fields | consulta | string | Lista separada por vírgulas dos campos a manter em cada resultado (a.b entra em objetos; id é sempre mantido; * = todos). |
curl "https://nways.ng/maps/v1/reverse?lat=6.4474&lng=3.472" \
-H "X-NWays-Api-Key: A_SUA_CHAVE_API"const res = await fetch('https://nways.ng/maps/v1/reverse?lat=6.4474&lng=3.472', {
headers: { 'X-NWays-Api-Key': process.env.NWAYS_API_KEY },
})
const data = await res.json()import os
import requests
res = requests.get(
"https://nways.ng/maps/v1/reverse?lat=6.4474&lng=3.472",
headers={"X-NWays-Api-Key": os.environ["NWAYS_API_KEY"]},
timeout=10,
)
data = res.json()Resposta
O que lá está
| Campo | Tipo | Descrição |
|---|---|---|
location | Point | Obrigatório. |
location.type | string | Obrigatório. |
location.coordinates | number[] | Obrigatório. [lng, lat] Pelo menos 2 elementos, no máximo 2 elementos. |
plusCode | string | Obrigatório. |
country | Area | null | Obrigatório. |
region | Area | null | Obrigatório. |
formattedAddress | string | |
postcode | Postcode | null | Obrigatório. Nigéria: o código postal NIPOST do edifício, quando há um ao alcance. |
ghanaPost | string | null | Obrigatório. Gana: o endereço GhanaPost GPS conhecido mais próximo (a menos de 100 m). |
nearest | Result | null | Obrigatório. |
attribution | string | Obrigatório. |
{
"location": {
"type": "string",
"coordinates": [
0
]
},
"plusCode": "string",
"country": {
"code": "NG-LA",
"name": "Lagos State",
"nameFr": "string",
"namePt": "string"
},
"region": {
"code": "NG-LA",
"name": "Lagos State",
"nameFr": "string",
"namePt": "string"
},
"formattedAddress": "12 Admiralty Way, Lekki, Lagos State, Nigeria",
"postcode": {
"code": "LA08A09DB09",
"display": "LA 08 A09 DB 09",
"components": {
"state": "LA",
"stateName": "Lagos",
"lga": "08",
"lgaName": "Eti-Osa",
"district": "A09",
"area": "DB",
"building": "09"
},
"location": {
"type": "string",
"coordinates": [
0
]
},
"name": "string",
"address": "string",
"buildingType": "string",
"entrances": [
{
"location": {
"type": "string",
"coordinates": []
},
"kind": "main",
"verified": true
}
],
"plusCode": "string",
"country": "string",
"source": "nipost",
"estimated": true,
"accuracyM": 0,
"distanceM": 0,
"attribution": "string"
},
"ghanaPost": "string",
"nearest": {
"id": "osm:w568367632",
"name": "Ikeja City Mall",
"type": "landmark",
"category": "shopping",
"location": {
"type": "string",
"coordinates": [
0
]
},
"bbox": [
0
],
"formattedAddress": "Ikeja, Lagos",
"postcode": "LA08A09DB09",
"ghanaPost": "GA-183-8164",
"plusCode": "6FR5J975+P4W",
"country": "NG",
"distanceM": 0,
"estimated": true,
"accuracyM": 0,
"placeId": "string",
"attribution": "string"
},
"attribution": "string"
}Erros
defaultErro
Um código postal NIPOST
GET https://nways.ng/maps/v1/postcodes/{code}
O edifício que um código postal NIPOST designa (qualquer forma escrita: LA 08 A09 DB 09, la-08-a09-db-09), as suas entradas (percurso para a primeira), as suas partes e os respetivos nomes; ou, para um código que ainda não localizámos, onde se estima que esteja a partir dos códigos à volta (estimated, accuracyM). Motivos: POSTCODE_INVALID, POSTCODE_NOT_FOUND_CHECK, POSTCODE_NOT_NIPOST.
Parâmetros
| Nome | Onde | Tipo | Descrição |
|---|---|---|---|
code | caminho | string | Obrigatório. |
fields | consulta | string | Lista separada por vírgulas dos campos a manter em cada resultado (a.b entra em objetos; id é sempre mantido; * = todos). |
curl "https://nways.ng/maps/v1/postcodes/LA08A09DB09" \
-H "X-NWays-Api-Key: A_SUA_CHAVE_API"const res = await fetch('https://nways.ng/maps/v1/postcodes/LA08A09DB09', {
headers: { 'X-NWays-Api-Key': process.env.NWAYS_API_KEY },
})
const data = await res.json()import os
import requests
res = requests.get(
"https://nways.ng/maps/v1/postcodes/LA08A09DB09",
headers={"X-NWays-Api-Key": os.environ["NWAYS_API_KEY"]},
timeout=10,
)
data = res.json()Resposta
O código postal
| Campo | Tipo | Descrição |
|---|---|---|
code | string | Obrigatório. |
display | string | Obrigatório. |
components | PostcodeComponents | Obrigatório. |
components.state | string | Obrigatório. |
components.stateName | string | |
components.lga | string | Obrigatório. |
components.lgaName | string | |
components.district | string | Obrigatório. |
components.area | string | Obrigatório. |
components.building | string | Obrigatório. |
location | Point | Obrigatório. |
location.type | string | Obrigatório. |
location.coordinates | number[] | Obrigatório. [lng, lat] Pelo menos 2 elementos, no máximo 2 elementos. |
name | string | |
address | string | |
buildingType | string | |
entrances | Entrance[] | Obrigatório. Verificadas primeiro, a principal primeiro: percurso para a primeira. |
entrances[].location | Point | Obrigatório. |
entrances[].location.type | string | Obrigatório. |
entrances[].location.coordinates | number[] | Obrigatório. [lng, lat] Pelo menos 2 elementos, no máximo 2 elementos. |
entrances[].kind | string | Obrigatório. Um de: main, gate, pedestrian, service. |
entrances[].verified | boolean | Obrigatório. |
plusCode | string | Obrigatório. |
country | string | Obrigatório. |
source | string | Obrigatório. Um de: nipost, osm, user, estimate. |
estimated | boolean | Obrigatório. |
accuracyM | number | |
distanceM | number | Geocodificação inversa: a partir do ponto consultado. |
attribution | string | Obrigatório. |
{
"code": "LA08A09DB09",
"display": "LA 08 A09 DB 09",
"components": {
"state": "LA",
"stateName": "Lagos",
"lga": "08",
"lgaName": "Eti-Osa",
"district": "A09",
"area": "DB",
"building": "09"
},
"location": {
"type": "string",
"coordinates": [
0
]
},
"name": "string",
"address": "string",
"buildingType": "string",
"entrances": [
{
"location": {
"type": "string",
"coordinates": [
0
]
},
"kind": "main",
"verified": true
}
],
"plusCode": "string",
"country": "string",
"source": "nipost",
"estimated": true,
"accuracyM": 0,
"distanceM": 0,
"attribution": "string"
}Erros
defaultErro
Até 100 códigos postais NIPOST de uma vez
POST https://nways.ng/maps/v1/postcodes/batch
Cada código conta como uma chamada de geocodificação. Uma resposta por código, por ordem, com o seu próprio erro quando o tem. Motivos (chamada inteira) CODES_INVALID.
Parâmetros
| Nome | Onde | Tipo | Descrição |
|---|---|---|---|
fields | consulta | string | Lista separada por vírgulas dos campos a manter em cada resultado (a.b entra em objetos; id é sempre mantido; * = todos). |
Corpo do pedido
| Campo | Tipo | Descrição |
|---|---|---|
codes | string[] | Obrigatório. Pelo menos 1 elementos, no máximo 100 elementos. |
curl -X POST "https://nways.ng/maps/v1/postcodes/batch" \
-H "X-NWays-Api-Key: A_SUA_CHAVE_API" \
-H "Content-Type: application/json" \
-d '{"codes":["LA08A09DB09","FC 02 A09 DB 09"]}'const res = await fetch('https://nways.ng/maps/v1/postcodes/batch', {
method: 'POST',
headers: { 'X-NWays-Api-Key': process.env.NWAYS_API_KEY, 'Content-Type': 'application/json' },
body: JSON.stringify({
"codes": [
"LA08A09DB09",
"FC 02 A09 DB 09"
]
}),
})
const data = await res.json()import os
import requests
res = requests.post(
"https://nways.ng/maps/v1/postcodes/batch",
headers={"X-NWays-Api-Key": os.environ["NWAYS_API_KEY"]},
json={"codes": ["LA08A09DB09", "FC 02 A09 DB 09"]},
timeout=10,
)
data = res.json()Resposta
Um resultado por código
| Campo | Tipo | Descrição |
|---|---|---|
results | object[] | Obrigatório. |
results[].query | string | Obrigatório. |
results[].postcode | Postcode | |
results[].postcode.code | string | Obrigatório. |
results[].postcode.display | string | Obrigatório. |
results[].postcode.components | PostcodeComponents | Obrigatório. |
results[].postcode.components.state | string | Obrigatório. |
results[].postcode.components.stateName | string | |
results[].postcode.components.lga | string | Obrigatório. |
results[].postcode.components.lgaName | string | |
results[].postcode.components.district | string | Obrigatório. |
results[].postcode.components.area | string | Obrigatório. |
results[].postcode.components.building | string | Obrigatório. |
results[].postcode.location | Point | Obrigatório. |
results[].postcode.location.type | string | Obrigatório. |
results[].postcode.location.coordinates | number[] | Obrigatório. [lng, lat] Pelo menos 2 elementos, no máximo 2 elementos. |
results[].postcode.name | string | |
results[].postcode.address | string | |
results[].postcode.buildingType | string | |
results[].postcode.entrances | Entrance[] | Obrigatório. Verificadas primeiro, a principal primeiro: percurso para a primeira. |
results[].postcode.entrances[].location | Point | Obrigatório. |
results[].postcode.entrances[].kind | string | Obrigatório. Um de: main, gate, pedestrian, service. |
results[].postcode.entrances[].verified | boolean | Obrigatório. |
results[].postcode.plusCode | string | Obrigatório. |
results[].postcode.country | string | Obrigatório. |
results[].postcode.source | string | Obrigatório. Um de: nipost, osm, user, estimate. |
results[].postcode.estimated | boolean | Obrigatório. |
results[].postcode.accuracyM | number | |
results[].postcode.distanceM | number | Geocodificação inversa: a partir do ponto consultado. |
results[].postcode.attribution | string | Obrigatório. |
results[].error | ItemError | |
results[].error.code | integer | Obrigatório. |
results[].error.reason | string | Obrigatório. |
results[].error.message | string | Obrigatório. |
attribution | string | Obrigatório. |
{
"results": [
{
"query": "string",
"postcode": {
"code": "LA08A09DB09",
"display": "LA 08 A09 DB 09",
"components": {
"state": "LA",
"stateName": "Lagos",
"lga": "08",
"lgaName": "Eti-Osa",
"district": "A09",
"area": "DB",
"building": "09"
},
"location": {
"type": "string",
"coordinates": []
},
"name": "string",
"address": "string",
"buildingType": "string",
"entrances": [
{}
],
"plusCode": "string",
"country": "string",
"source": "nipost",
"estimated": true,
"accuracyM": 0,
"distanceM": 0,
"attribution": "string"
},
"error": {
"code": 0,
"reason": "string",
"message": "string"
}
}
],
"attribution": "string"
}Erros
defaultErro
Um endereço GhanaPost GPS
GET https://nways.ng/maps/v1/ghanapost/{code}
Onde fica um endereço digital GhanaPost GPS: mapeado no OpenStreetMap ou publicado pelo seu dono, senão (nos distritos onde o método foi verificado) estimado a partir dos códigos mapeados à volta (estimated, accuracyM). Nunca chama a Ghana Post. Motivos: GHANAPOST_INVALID, GHANAPOST_UNKNOWN.
Parâmetros
| Nome | Onde | Tipo | Descrição |
|---|---|---|---|
code | caminho | string | Obrigatório. |
fields | consulta | string | Lista separada por vírgulas dos campos a manter em cada resultado (a.b entra em objetos; id é sempre mantido; * = todos). |
curl "https://nways.ng/maps/v1/ghanapost/GA-183-8164" \
-H "X-NWays-Api-Key: A_SUA_CHAVE_API"const res = await fetch('https://nways.ng/maps/v1/ghanapost/GA-183-8164', {
headers: { 'X-NWays-Api-Key': process.env.NWAYS_API_KEY },
})
const data = await res.json()import os
import requests
res = requests.get(
"https://nways.ng/maps/v1/ghanapost/GA-183-8164",
headers={"X-NWays-Api-Key": os.environ["NWAYS_API_KEY"]},
timeout=10,
)
data = res.json()Resposta
O endereço
| Campo | Tipo | Descrição |
|---|---|---|
id | string | Obrigatório. |
name | string | Obrigatório. |
type | string | Obrigatório. address, street, business, landmark, building, postcode, ghanapost, ou uma zona: neighbourhood, suburb, village, town, city, state… |
category | string | |
location | Point | Obrigatório. |
location.type | string | Obrigatório. |
location.coordinates | number[] | Obrigatório. [lng, lat] Pelo menos 2 elementos, no máximo 2 elementos. |
bbox | number[] | oeste, sul, este, norte (zonas) Pelo menos 4 elementos, no máximo 4 elementos. |
formattedAddress | string | |
postcode | string | Código postal NIPOST, compacto |
ghanaPost | string | |
plusCode | string | Obrigatório. |
country | string | |
distanceM | number | A partir de near (ou do ponto consultado). |
estimated | boolean | O ponto é uma estimativa, dentro de accuracyM. |
accuracyM | number | |
placeId | string | Um negócio: o seu id para /places/{id}. |
attribution | string |
{
"id": "osm:w568367632",
"name": "Ikeja City Mall",
"type": "landmark",
"category": "shopping",
"location": {
"type": "string",
"coordinates": [
0
]
},
"bbox": [
0
],
"formattedAddress": "Ikeja, Lagos",
"postcode": "LA08A09DB09",
"ghanaPost": "GA-183-8164",
"plusCode": "6FR5J975+P4W",
"country": "NG",
"distanceM": 0,
"estimated": true,
"accuracyM": 0,
"placeId": "string",
"attribution": "string"
}Erros
defaultErro
A área de um Plus Code e o que lá está
GET https://nways.ng/maps/v1/pluscodes/{code}
Um Plus Code completo (6FR5J975+P4W), ou um curto com uma referência: near=lat,lng, ou uma localidade a seguir (J975+P4 Ikeja, codificado para URL). A resposta é a geocodificação inversa do centro do código, com o código completo e os seus limites. Motivos: PLUSCODE_INVALID, PLUSCODE_SHORT, LOCALITY_NOT_FOUND, NEAR_INVALID.
Parâmetros
| Nome | Onde | Tipo | Descrição |
|---|---|---|---|
code | caminho | string | Obrigatório. |
near | consulta | string | lat,lng: ordenar e escolher resultados perto deste ponto. |
lang | consulta | string | Um de: en, fr, pt. Predefinição: en. |
fields | consulta | string | Lista separada por vírgulas dos campos a manter em cada resultado (a.b entra em objetos; id é sempre mantido; * = todos). |
curl "https://nways.ng/maps/v1/pluscodes/6FR5J975%2BP4W" \
-H "X-NWays-Api-Key: A_SUA_CHAVE_API"const res = await fetch('https://nways.ng/maps/v1/pluscodes/6FR5J975%2BP4W', {
headers: { 'X-NWays-Api-Key': process.env.NWAYS_API_KEY },
})
const data = await res.json()import os
import requests
res = requests.get(
"https://nways.ng/maps/v1/pluscodes/6FR5J975%2BP4W",
headers={"X-NWays-Api-Key": os.environ["NWAYS_API_KEY"]},
timeout=10,
)
data = res.json()Resposta
A área do código
| Campo | Tipo | Descrição |
|---|---|---|
location | Point | Obrigatório. |
location.type | string | Obrigatório. |
location.coordinates | number[] | Obrigatório. [lng, lat] Pelo menos 2 elementos, no máximo 2 elementos. |
plusCode | string | Obrigatório. |
country | Area | null | Obrigatório. |
region | Area | null | Obrigatório. |
formattedAddress | string | |
postcode | Postcode | null | Obrigatório. Nigéria: o código postal NIPOST do edifício, quando há um ao alcance. |
ghanaPost | string | null | Obrigatório. Gana: o endereço GhanaPost GPS conhecido mais próximo (a menos de 100 m). |
nearest | Result | null | Obrigatório. |
attribution | string | Obrigatório. |
bounds | number[] | Obrigatório. oeste, sul, este, norte Pelo menos 4 elementos, no máximo 4 elementos. |
{
"location": {
"type": "string",
"coordinates": [
0
]
},
"plusCode": "string",
"country": {
"code": "NG-LA",
"name": "Lagos State",
"nameFr": "string",
"namePt": "string"
},
"region": {
"code": "NG-LA",
"name": "Lagos State",
"nameFr": "string",
"namePt": "string"
},
"formattedAddress": "12 Admiralty Way, Lekki, Lagos State, Nigeria",
"postcode": {
"code": "LA08A09DB09",
"display": "LA 08 A09 DB 09",
"components": {
"state": "LA",
"stateName": "Lagos",
"lga": "08",
"lgaName": "Eti-Osa",
"district": "A09",
"area": "DB",
"building": "09"
},
"location": {
"type": "string",
"coordinates": [
0
]
},
"name": "string",
"address": "string",
"buildingType": "string",
"entrances": [
{
"location": {
"type": "string",
"coordinates": []
},
"kind": "main",
"verified": true
}
],
"plusCode": "string",
"country": "string",
"source": "nipost",
"estimated": true,
"accuracyM": 0,
"distanceM": 0,
"attribution": "string"
},
"ghanaPost": "string",
"nearest": {
"id": "osm:w568367632",
"name": "Ikeja City Mall",
"type": "landmark",
"category": "shopping",
"location": {
"type": "string",
"coordinates": [
0
]
},
"bbox": [
0
],
"formattedAddress": "Ikeja, Lagos",
"postcode": "LA08A09DB09",
"ghanaPost": "GA-183-8164",
"plusCode": "6FR5J975+P4W",
"country": "NG",
"distanceM": 0,
"estimated": true,
"accuracyM": 0,
"placeId": "string",
"attribution": "string"
},
"attribution": "string",
"bounds": [
0
]
}Erros
defaultErro