Géocodage
Recherche de lieux et d’adresses, ce qui se trouve à un point, et recherches NIPOST, GhanaPost et Plus Code.
Sur cette page
Envoyez votre clé avec key=VOTRE_CLE_API dans l’adresse, ou dans l’en-tête X-NWays-Api-Key. Clés d’API
Adresse de base : https://nways.ng/maps/v1
Rechercher des lieux, des adresses et des codes
GET https://nways.ng/maps/v1/geocode
Lieux, rues, adresses, points de repère, commerces et zones dans chaque pays couvert, malgré les fautes de frappe et avec les surnoms locaux ; un code postal NIPOST trouve son bâtiment, une adresse GhanaPost GPS son point. Les résultats les plus proches d’abord quand near est fourni. Raisons : QUERY_REQUIRED, QUERY_TOO_LONG, NEAR_INVALID, COUNTRY_INVALID, LIMIT_INVALID, LANG_INVALID.
Paramètres
| Nom | Où | Type | Description |
|---|---|---|---|
q | requête | string | Obligatoire. 200 caractères au plus. |
near | requête | string | lat,lng : classer et choisir les résultats proches de ce point. |
country | requête | string | Liste séparée par des virgules parmi NG, GH, BJ, TG, GA, CI, LR, GN, SL, GW, SN, CM, BF, CV, GM. |
limit | requête | integer | Par défaut: 8. ≥ 1, ≤ 20. |
lang | requête | string | Au choix: en, fr, pt. Par défaut: en. |
fields | requête | string | Liste séparée par des virgules des champs à garder dans chaque résultat (a.b descend dans les objets ; id est toujours gardé ; * = tous). |
curl "https://nways.ng/maps/v1/geocode?q=Ikeja+City+Mall" \
-H "X-NWays-Api-Key: VOTRE_CLE_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()Réponse
Résultats
| Champ | Type | Description |
|---|---|---|
results | Result[] | Obligatoire. |
results[].id | string | Obligatoire. |
results[].name | string | Obligatoire. |
results[].type | string | Obligatoire. address, street, business, landmark, building, postcode, ghanapost, ou une zone : neighbourhood, suburb, village, town, city, state… |
results[].category | string | |
results[].location | Point | Obligatoire. |
results[].location.type | string | Obligatoire. |
results[].location.coordinates | number[] | Obligatoire. [lng, lat] Au moins 2 éléments, au plus 2 éléments. |
results[].bbox | number[] | ouest, sud, est, nord (zones) Au moins 4 éléments, au plus 4 éléments. |
results[].formattedAddress | string | |
results[].postcode | string | Code postal NIPOST, forme compacte |
results[].ghanaPost | string | |
results[].plusCode | string | Obligatoire. |
results[].country | string | |
results[].distanceM | number | Depuis near (ou le point demandé). |
results[].estimated | boolean | Le point est une estimation, à accuracyM près. |
results[].accuracyM | number | |
results[].placeId | string | Un commerce : son id pour /places/{id}. |
results[].attribution | string | |
didYouMean | string | |
attribution | string | Obligatoire. |
{
"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"
}Erreurs
defaultErreur
Ce qui se trouve à un point
GET https://nways.ng/maps/v1/reverse
Une même forme dans chaque pays couvert : le pays et la région, le Plus Code, le code postal NIPOST au Nigeria (le bâtiment à portée), l’adresse GhanaPost GPS connue la plus proche au Ghana, et l’adresse, la rue ou le point de repère nommé le plus proche (sinon la zone), avec une adresse sur une ligne. Raisons : LAT_LNG_REQUIRED, RADIUS_INVALID, LANG_INVALID.
Paramètres
| Nom | Où | Type | Description |
|---|---|---|---|
lat | requête | number | Obligatoire. |
lng | requête | number | Obligatoire. |
radius | requête | number | Jusqu’où chercher une adresse, une rue ou un point de repère (en mètres). Par défaut: 200. ≥ 10, ≤ 1000. |
lang | requête | string | Au choix: en, fr, pt. Par défaut: en. |
fields | requête | string | Liste séparée par des virgules des champs à garder dans chaque résultat (a.b descend dans les objets ; id est toujours gardé ; * = tous). |
curl "https://nways.ng/maps/v1/reverse?lat=6.4474&lng=3.472" \
-H "X-NWays-Api-Key: VOTRE_CLE_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()Réponse
Ce qui s’y trouve
| Champ | Type | Description |
|---|---|---|
location | Point | Obligatoire. |
location.type | string | Obligatoire. |
location.coordinates | number[] | Obligatoire. [lng, lat] Au moins 2 éléments, au plus 2 éléments. |
plusCode | string | Obligatoire. |
country | Area | null | Obligatoire. |
region | Area | null | Obligatoire. |
formattedAddress | string | |
postcode | Postcode | null | Obligatoire. Nigeria : le code postal NIPOST du bâtiment, quand il y en a un à portée. |
ghanaPost | string | null | Obligatoire. Ghana : l’adresse GhanaPost GPS connue la plus proche (à moins de 100 m). |
nearest | Result | null | Obligatoire. |
attribution | string | Obligatoire. |
{
"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"
}Erreurs
defaultErreur
Un code postal NIPOST
GET https://nways.ng/maps/v1/postcodes/{code}
Le bâtiment que désigne un code postal NIPOST (sous n’importe quelle forme écrite : LA 08 A09 DB 09, la-08-a09-db-09), ses entrées (l’itinéraire mène à la première), ses parties et leurs noms ; ou, pour un code que nous n’avons pas encore placé, l’endroit où il se trouve selon une estimation faite à partir des codes voisins (estimated, accuracyM). Raisons : POSTCODE_INVALID, POSTCODE_NOT_FOUND_CHECK, POSTCODE_NOT_NIPOST.
Paramètres
| Nom | Où | Type | Description |
|---|---|---|---|
code | chemin | string | Obligatoire. |
fields | requête | string | Liste séparée par des virgules des champs à garder dans chaque résultat (a.b descend dans les objets ; id est toujours gardé ; * = tous). |
curl "https://nways.ng/maps/v1/postcodes/LA08A09DB09" \
-H "X-NWays-Api-Key: VOTRE_CLE_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()Réponse
Le code postal
| Champ | Type | Description |
|---|---|---|
code | string | Obligatoire. |
display | string | Obligatoire. |
components | PostcodeComponents | Obligatoire. |
components.state | string | Obligatoire. |
components.stateName | string | |
components.lga | string | Obligatoire. |
components.lgaName | string | |
components.district | string | Obligatoire. |
components.area | string | Obligatoire. |
components.building | string | Obligatoire. |
location | Point | Obligatoire. |
location.type | string | Obligatoire. |
location.coordinates | number[] | Obligatoire. [lng, lat] Au moins 2 éléments, au plus 2 éléments. |
name | string | |
address | string | |
buildingType | string | |
entrances | Entrance[] | Obligatoire. Les vérifiées d’abord, la principale en premier : l’itinéraire mène à la première. |
entrances[].location | Point | Obligatoire. |
entrances[].location.type | string | Obligatoire. |
entrances[].location.coordinates | number[] | Obligatoire. [lng, lat] Au moins 2 éléments, au plus 2 éléments. |
entrances[].kind | string | Obligatoire. Au choix: main, gate, pedestrian, service. |
entrances[].verified | boolean | Obligatoire. |
plusCode | string | Obligatoire. |
country | string | Obligatoire. |
source | string | Obligatoire. Au choix: nipost, osm, user, estimate. |
estimated | boolean | Obligatoire. |
accuracyM | number | |
distanceM | number | Géocodage inverse : depuis le point demandé. |
attribution | string | Obligatoire. |
{
"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"
}Erreurs
defaultErreur
Jusqu’à 100 codes postaux NIPOST à la fois
POST https://nways.ng/maps/v1/postcodes/batch
Chaque code compte comme un appel geocode. Une réponse par code, dans l’ordre, avec sa propre erreur s’il en a une. Raisons (pour tout l’appel) : CODES_INVALID.
Paramètres
| Nom | Où | Type | Description |
|---|---|---|---|
fields | requête | string | Liste séparée par des virgules des champs à garder dans chaque résultat (a.b descend dans les objets ; id est toujours gardé ; * = tous). |
Corps de la requête
| Champ | Type | Description |
|---|---|---|
codes | string[] | Obligatoire. Au moins 1 éléments, au plus 100 éléments. |
curl -X POST "https://nways.ng/maps/v1/postcodes/batch" \
-H "X-NWays-Api-Key: VOTRE_CLE_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()Réponse
Un résultat par code
| Champ | Type | Description |
|---|---|---|
results | object[] | Obligatoire. |
results[].query | string | Obligatoire. |
results[].postcode | Postcode | |
results[].postcode.code | string | Obligatoire. |
results[].postcode.display | string | Obligatoire. |
results[].postcode.components | PostcodeComponents | Obligatoire. |
results[].postcode.components.state | string | Obligatoire. |
results[].postcode.components.stateName | string | |
results[].postcode.components.lga | string | Obligatoire. |
results[].postcode.components.lgaName | string | |
results[].postcode.components.district | string | Obligatoire. |
results[].postcode.components.area | string | Obligatoire. |
results[].postcode.components.building | string | Obligatoire. |
results[].postcode.location | Point | Obligatoire. |
results[].postcode.location.type | string | Obligatoire. |
results[].postcode.location.coordinates | number[] | Obligatoire. [lng, lat] Au moins 2 éléments, au plus 2 éléments. |
results[].postcode.name | string | |
results[].postcode.address | string | |
results[].postcode.buildingType | string | |
results[].postcode.entrances | Entrance[] | Obligatoire. Les vérifiées d’abord, la principale en premier : l’itinéraire mène à la première. |
results[].postcode.entrances[].location | Point | Obligatoire. |
results[].postcode.entrances[].kind | string | Obligatoire. Au choix: main, gate, pedestrian, service. |
results[].postcode.entrances[].verified | boolean | Obligatoire. |
results[].postcode.plusCode | string | Obligatoire. |
results[].postcode.country | string | Obligatoire. |
results[].postcode.source | string | Obligatoire. Au choix: nipost, osm, user, estimate. |
results[].postcode.estimated | boolean | Obligatoire. |
results[].postcode.accuracyM | number | |
results[].postcode.distanceM | number | Géocodage inverse : depuis le point demandé. |
results[].postcode.attribution | string | Obligatoire. |
results[].error | ItemError | |
results[].error.code | integer | Obligatoire. |
results[].error.reason | string | Obligatoire. |
results[].error.message | string | Obligatoire. |
attribution | string | Obligatoire. |
{
"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"
}Erreurs
defaultErreur
Une adresse GhanaPost GPS
GET https://nways.ng/maps/v1/ghanapost/{code}
L’emplacement d’une adresse numérique GhanaPost GPS : cartographiée dans OpenStreetMap ou publiée par son propriétaire, sinon (dans les districts où la méthode a été vérifiée) estimée à partir des codes cartographiés autour (estimated, accuracyM). N’appelle jamais Ghana Post. Raisons : GHANAPOST_INVALID, GHANAPOST_UNKNOWN.
Paramètres
| Nom | Où | Type | Description |
|---|---|---|---|
code | chemin | string | Obligatoire. |
fields | requête | string | Liste séparée par des virgules des champs à garder dans chaque résultat (a.b descend dans les objets ; id est toujours gardé ; * = tous). |
curl "https://nways.ng/maps/v1/ghanapost/GA-183-8164" \
-H "X-NWays-Api-Key: VOTRE_CLE_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()Réponse
L’adresse
| Champ | Type | Description |
|---|---|---|
id | string | Obligatoire. |
name | string | Obligatoire. |
type | string | Obligatoire. address, street, business, landmark, building, postcode, ghanapost, ou une zone : neighbourhood, suburb, village, town, city, state… |
category | string | |
location | Point | Obligatoire. |
location.type | string | Obligatoire. |
location.coordinates | number[] | Obligatoire. [lng, lat] Au moins 2 éléments, au plus 2 éléments. |
bbox | number[] | ouest, sud, est, nord (zones) Au moins 4 éléments, au plus 4 éléments. |
formattedAddress | string | |
postcode | string | Code postal NIPOST, forme compacte |
ghanaPost | string | |
plusCode | string | Obligatoire. |
country | string | |
distanceM | number | Depuis near (ou le point demandé). |
estimated | boolean | Le point est une estimation, à accuracyM près. |
accuracyM | number | |
placeId | string | Un commerce : son id pour /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"
}Erreurs
defaultErreur
La zone d’un Plus Code et ce qui s’y trouve
GET https://nways.ng/maps/v1/pluscodes/{code}
Un Plus Code complet (6FR5J975+P4W), ou un code court avec une référence : near=lat,lng, ou une ville après le code (J975+P4 Ikeja, encodé pour l’URL). La réponse est le géocodage inverse du centre du code, avec le code complet et ses limites. Raisons : PLUSCODE_INVALID, PLUSCODE_SHORT, LOCALITY_NOT_FOUND, NEAR_INVALID.
Paramètres
| Nom | Où | Type | Description |
|---|---|---|---|
code | chemin | string | Obligatoire. |
near | requête | string | lat,lng : classer et choisir les résultats proches de ce point. |
lang | requête | string | Au choix: en, fr, pt. Par défaut: en. |
fields | requête | string | Liste séparée par des virgules des champs à garder dans chaque résultat (a.b descend dans les objets ; id est toujours gardé ; * = tous). |
curl "https://nways.ng/maps/v1/pluscodes/6FR5J975%2BP4W" \
-H "X-NWays-Api-Key: VOTRE_CLE_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()Réponse
La zone du code
| Champ | Type | Description |
|---|---|---|
location | Point | Obligatoire. |
location.type | string | Obligatoire. |
location.coordinates | number[] | Obligatoire. [lng, lat] Au moins 2 éléments, au plus 2 éléments. |
plusCode | string | Obligatoire. |
country | Area | null | Obligatoire. |
region | Area | null | Obligatoire. |
formattedAddress | string | |
postcode | Postcode | null | Obligatoire. Nigeria : le code postal NIPOST du bâtiment, quand il y en a un à portée. |
ghanaPost | string | null | Obligatoire. Ghana : l’adresse GhanaPost GPS connue la plus proche (à moins de 100 m). |
nearest | Result | null | Obligatoire. |
attribution | string | Obligatoire. |
bounds | number[] | Obligatoire. ouest, sud, est, nord Au moins 4 éléments, au plus 4 éléments. |
{
"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
]
}Erreurs
defaultErreur