GET · /api/v1/geocode/forward

واجهة الترميز الجغرافي

حوّل العناوين إلى إحداثيات والعكس بفضل محرك Oolel/Pelias. تتضمن كل النتائج أسماء متعددة اللغات (الفرنسية والعربية والإنجليزية) وزوج إحداثيات بالترتيب [الطول، العرض].

ترميز جغرافي أمامي

يحوّل عنوانًا أو اسم مكان إلى إحداثيات. تُرتَّب النتائج حسب الثقة ويمكن تقييدها بدولة محددة عبر رمز ISO-3166 alpha-2.

GET/geocode/forward

ترميز عنوان أو اسم مكان إلى إحداثيات

المعاملات

NameTypeDescription
addressstringالعنوان أو اسم المكان المراد ترميزه
countrystring?رمز الدولة ISO-3166 alpha-2 (مثل MR أو SN) للتحيّز أو التصفية

مثال على الطلب

cURLbash
curl -X GET "https://api.oolelmaps.com/api/v1/geocode/forward?address=Tevragh+Zeina+Nouakchott&country=MR" \
  -H "Authorization: Bearer YOUR_API_KEY"
JavaScriptjavascript
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();
Pythonpython
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
  }
]

ترميز جغرافي عكسي

يعيد أقرب مكان أو عنوان لنقطة (خط العرض/خط الطول). مفيد لتحديد ما يوجد عند النقطة التي نقر عليها المستخدم على الخريطة.

GET/geocode/reverse

ترميز عكسي للإحداثيات إلى أقرب مكان

المعاملات

NameTypeDescription
latnumberخط العرض للنقطة المطلوب ترميزها عكسيًا
lngnumberخط الطول للنقطة المطلوب ترميزها عكسيًا
countrystring?رمز الدولة ISO-3166 alpha-2 (مثل MR أو SN) للتحيّز أو التصفية

مثال على الطلب

cURLbash
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"
JavaScriptjavascript
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();
Pythonpython
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 في واجهة البحث إن احتجت إلى إحداثيات.

GET/geocode/autocomplete

اقتراحات أماكن مبنية على بادئة طلب

المعاملات

NameTypeDescription
textstringنص الاستعلام (جزئي للإكمال التلقائي، كامل للبحث)
countrystring?رمز الدولة ISO-3166 alpha-2 (مثل MR أو SN) للتحيّز أو التصفية

مثال على الطلب

cURLbash
curl -X GET "https://api.oolelmaps.com/api/v1/geocode/autocomplete?text=tevra&country=MR" \
  -H "Authorization: Bearer YOUR_API_KEY"
JavaScriptjavascript
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();
Pythonpython
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. استخدمه عندما يكون لديك استعلام كامل وتريد نتائج مرتّبة.

GET/geocode/search

بحث نصي كامل على فهرس Pelias

المعاملات

NameTypeDescription
textstringنص الاستعلام (جزئي للإكمال التلقائي، كامل للبحث)
languagestring?لغة الاستجابة: fr أو ar أو en

مثال على الطلب

cURLbash
curl -X GET "https://api.oolelmaps.com/api/v1/geocode/search?text=Marche+Capitale&language=fr" \
  -H "Authorization: Bearer YOUR_API_KEY"
JavaScriptjavascript
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();
Pythonpython
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"
    }
  }
]