GET · /api/v1/geocode/forward
واجهة الترميز الجغرافي
حوّل العناوين إلى إحداثيات والعكس بفضل محرك Oolel/Pelias. تتضمن كل النتائج أسماء متعددة اللغات (الفرنسية والعربية والإنجليزية) وزوج إحداثيات بالترتيب [الطول، العرض].
ترميز جغرافي أمامي
يحوّل عنوانًا أو اسم مكان إلى إحداثيات. تُرتَّب النتائج حسب الثقة ويمكن تقييدها بدولة محددة عبر رمز ISO-3166 alpha-2.
/geocode/forwardترميز عنوان أو اسم مكان إلى إحداثيات
المعاملات
| Name | Type | Description |
|---|---|---|
| address | string | العنوان أو اسم المكان المراد ترميزه |
| country | string? | رمز الدولة ISO-3166 alpha-2 (مثل MR أو SN) للتحيّز أو التصفية |
مثال على الطلب
curl -X GET "https://api.oolelmaps.com/api/v1/geocode/forward?address=Tevragh+Zeina+Nouakchott&country=MR" \
-H "Authorization: Bearer YOUR_API_KEY"const response = await fetch(
"https://api.oolelmaps.com/api/v1/geocode/forward?" +
new URLSearchParams({
address: "Tevragh Zeina Nouakchott",
country: "MR",
}),
{
headers: { Authorization: "Bearer YOUR_API_KEY" },
},
);
const results = await response.json();import requests
response = requests.get(
"https://api.oolelmaps.com/api/v1/geocode/forward",
params={"address": "Tevragh Zeina Nouakchott", "country": "MR"},
headers={"Authorization": "Bearer YOUR_API_KEY"},
)
results = response.json()مثال على الاستجابة
[
{
"id": "56b20674-238d-4723-bc28-203f7e4d04f9",
"code": "W2TBFB",
"lotissement": "Ilot T",
"ilot": null,
"lotNumber": "39",
"streetName": {
"ar": "جمال عبد الناصر",
"en": "Gamal Abdel Nasser",
"fr": "Gemal Abdel Nasser"
},
"buildingName": null,
"identifierPrecise": {
"ar": "39 شارع جمال عبد الناصر",
"en": "39 Gemal Abdel Nasser Avenue",
"fr": "39 Avenue Gemal Abdel Nasser"
},
"description": null,
"landmarks": null,
"latitude": 18.088250412537,
"longitude": -15.9798102142324,
"countryId": "1fe04eb6-066e-4533-9369-81338bf107b9",
"adminLevel3Id": "ec4e1484-6df7-4eed-a50f-b95105a28ad9",
"verificationStatus": "ADMIN_VERIFIED",
"verificationCount": 0,
"photoUrls": [],
"isActive": true,
"version": 3
}
]ترميز جغرافي عكسي
يعيد أقرب مكان أو عنوان لنقطة (خط العرض/خط الطول). مفيد لتحديد ما يوجد عند النقطة التي نقر عليها المستخدم على الخريطة.
/geocode/reverseترميز عكسي للإحداثيات إلى أقرب مكان
المعاملات
| Name | Type | Description |
|---|---|---|
| lat | number | خط العرض للنقطة المطلوب ترميزها عكسيًا |
| lng | number | خط الطول للنقطة المطلوب ترميزها عكسيًا |
| country | string? | رمز الدولة ISO-3166 alpha-2 (مثل MR أو SN) للتحيّز أو التصفية |
مثال على الطلب
curl -X GET "https://api.oolelmaps.com/api/v1/geocode/reverse?lat=18.0858&lng=-15.9785&country=MR" \
-H "Authorization: Bearer YOUR_API_KEY"const response = await fetch(
"https://api.oolelmaps.com/api/v1/geocode/reverse?" +
new URLSearchParams({ lat: "18.0858", lng: "-15.9785", country: "MR" }),
{ headers: { Authorization: "Bearer YOUR_API_KEY" } },
);
const results = await response.json();import requests
response = requests.get(
"https://api.oolelmaps.com/api/v1/geocode/reverse",
params={"lat": 18.0858, "lng": -15.9785, "country": "MR"},
headers={"Authorization": "Bearer YOUR_API_KEY"},
)
results = response.json()مثال على الاستجابة
{
"id": "dd808201-7106-4730-a646-56fff1d4de37",
"code": "W2TBFD",
"identifierPrecise": {
"ar": "47 شارع جمال عبد الناصر",
"en": "47 Gemal Abdel Nasser Avenue",
"fr": "47 Avenue Gemal Abdel Nasser"
},
"latitude": 18.0882428323741,
"longitude": -15.9782648035898,
"countryId": "1fe04eb6-066e-4533-9369-81338bf107b9",
"distance_meters": 271.51986951,
"places": []
}الإكمال التلقائي
اقتراحات سريعة حسب البادئة، مناسبة لحقول البحث أثناء الكتابة. النتائج ليست سجلات كاملة؛ استخدم نقطة retrieve في واجهة البحث إن احتجت إلى إحداثيات.
/geocode/autocompleteاقتراحات أماكن مبنية على بادئة طلب
المعاملات
| Name | Type | Description |
|---|---|---|
| text | string | نص الاستعلام (جزئي للإكمال التلقائي، كامل للبحث) |
| country | string? | رمز الدولة ISO-3166 alpha-2 (مثل MR أو SN) للتحيّز أو التصفية |
مثال على الطلب
curl -X GET "https://api.oolelmaps.com/api/v1/geocode/autocomplete?text=tevra&country=MR" \
-H "Authorization: Bearer YOUR_API_KEY"const response = await fetch(
"https://api.oolelmaps.com/api/v1/geocode/autocomplete?" +
new URLSearchParams({ text: "tevra", country: "MR" }),
{ headers: { Authorization: "Bearer YOUR_API_KEY" } },
);
const suggestions = await response.json();import requests
response = requests.get(
"https://api.oolelmaps.com/api/v1/geocode/autocomplete",
params={"text": "tevra", "country": "MR"},
headers={"Authorization": "Bearer YOUR_API_KEY"},
)
suggestions = response.json()مثال على الاستجابة
[
{
"id": "56b20674-238d-4723-bc28-203f7e4d04f9",
"code": "W2TBFB",
"lotissement": "Ilot T",
"ilot": null,
"lotNumber": "39",
"streetName": {
"ar": "جمال عبد الناصر",
"en": "Gamal Abdel Nasser",
"fr": "Gemal Abdel Nasser"
},
"buildingName": null,
"identifierPrecise": {
"ar": "39 شارع جمال عبد الناصر",
"en": "39 Gemal Abdel Nasser Avenue",
"fr": "39 Avenue Gemal Abdel Nasser"
},
"description": null,
"landmarks": null,
"latitude": 18.088250412537,
"longitude": -15.9798102142324,
"countryId": "1fe04eb6-066e-4533-9369-81338bf107b9",
"adminLevel3Id": "ec4e1484-6df7-4eed-a50f-b95105a28ad9",
"verificationStatus": "ADMIN_VERIFIED",
"verificationCount": 0,
"photoUrls": [],
"isActive": true,
"version": 3
}
]بحث نصي كامل
يُجري بحثًا نصيًا كاملًا على فهرس Pelias. استخدمه عندما يكون لديك استعلام كامل وتريد نتائج مرتّبة.
/geocode/searchبحث نصي كامل على فهرس Pelias
المعاملات
| Name | Type | Description |
|---|---|---|
| text | string | نص الاستعلام (جزئي للإكمال التلقائي، كامل للبحث) |
| language | string? | لغة الاستجابة: fr أو ar أو en |
مثال على الطلب
curl -X GET "https://api.oolelmaps.com/api/v1/geocode/search?text=Marche+Capitale&language=fr" \
-H "Authorization: Bearer YOUR_API_KEY"const response = await fetch(
"https://api.oolelmaps.com/api/v1/geocode/search?" +
new URLSearchParams({ text: "Marche Capitale", language: "fr" }),
{ headers: { Authorization: "Bearer YOUR_API_KEY" } },
);
const results = await response.json();import requests
response = requests.get(
"https://api.oolelmaps.com/api/v1/geocode/search",
params={"text": "Marche Capitale", "language": "fr"},
headers={"Authorization": "Bearer YOUR_API_KEY"},
)
results = response.json()مثال على الاستجابة
[
{
"id": "oolel:address:addr-dd808201-7106-4730-a646-56fff1d4de37",
"placeId": "17950eb4-1af6-43cc-ae52-5ab6f1cc663b",
"addressId": "dd808201-7106-4730-a646-56fff1d4de37",
"placeName": "47 Avenue Gemal Abdel Nasser, Tevragh Zeina, Nouakchott, Mauritania",
"coordinates": [-15.978265, 18.088243],
"placeType": "address",
"text": "47 Avenue Gemal Abdel Nasser",
"locality": "Tevragh Zeina",
"postalcode": "W2TBFD",
"region": "Nouakchott Ouest",
"regionAbbr": "NO",
"country": "Mauritanie",
"countryCode": "MR",
"names": {
"fr": "47 Avenue Gemal Abdel Nasser",
"ar": "47 شارع جمال عبد الناصر",
"en": "47 Gemal Abdel Nasser Avenue"
},
"lotissement": "Ilot T",
"localities": {
"fr": "Tevragh Zeina",
"ar": "تفرغ زينة",
"en": "Tevragh Zeina"
},
"regions": {
"fr": "Nouakchott Ouest",
"ar": "نواكشوط الغربية",
"en": "Nouakchott Ouest"
},
"countries": {
"fr": "Mauritanie",
"ar": "موريتانيا",
"en": "Mauritania"
}
}
]