Navvo
الأدلّة

الإكمال التلقائي للعناوين والترميز الجغرافي

حوّل العناوين التي يكتبها المستخدم إلى إحداثيات، والإحداثيات إلى عناوين.

الإكمال التلقائي للعناوين والترميز الجغرافي

حوّل العناوين النصّية الحرّة إلى إحداثيات (ترميز جغرافي أمامي) والإحداثيات إلى عناوين (ترميز جغرافي عكسي). يستخدم الترميز الجغرافي.

النطاق المطلوب: geocode

أمامي: عنوان ← إحداثيات

استدعِ GET /geocode/search أثناء كتابة المستخدم (مع إبطاء المعالجة). حيّز النتائج نحو الخريطة المرئية بـ bbox، أو نحو نقطة بـ lat/lon:

async function geocode(q, viewport) {
  const params = new URLSearchParams({ q, limit: "5" });
  if (viewport) params.set("bbox", viewport.join(",")); // west,south,east,north
  const res = await fetch("https://navvo.io/api/v1/geocode/search?" + params, {
    headers: { "x-api-key": KEY },
  });
  const out = await res.json();
  if (!out.available) return []; // geocoder offline
  return out.data; // array of candidates
}
يحتوي كل عنصر من محرّك الترميز الجغرافي في Navvo على display_name وlat وlon (سلاسل نصّية) وtype وaddress. راجع مرجع الترميز الجغرافي.

اعرض display_name في قائمتك المنسدلة واستخدم lat/lon عندما يختار المستخدم عنصرًا:

const items = await geocode("Abdali Boulevard, Amman", [35.85, 31.90, 35.99, 31.99]);
items.forEach((it) => {
  console.log(it.display_name, "", Number(it.lon), Number(it.lat)); // [lng, lat]
});

عكسي: إحداثيات ← عنوان

عندما يُسقط المستخدم علامة أو يكون لديك تحديد GPS، استدعِ GET /geocode/reverse:

async function reverse(lat, lon) {
  const res = await fetch(
    "https://navvo.io/api/v1/geocode/reverse?" + new URLSearchParams({ lat, lon }),
    { headers: { "x-api-key": KEY } }
  );
  const out = await res.json();
  return out.available ? out.data : null; // single result object
}

const place = await reverse(31.95, 35.91);
console.log(place.display_name); // "King Hussein Street, Al Abdali, Amman, Jordan"

نصائح

أبطئ معالجة الإدخال

استدعِ الواجهة البرمجية فقط بعد أن يتوقّف المستخدم عن الكتابة (~250–300ms). يُحتسب الترميز الجغرافي ضمن حدّ المعدّل مثل أي طلب آخر.

حيّز نحو منطقة العرض

مرّر bbox الخاص بالخريطة (أو نقطة قرب lat/lon) لتتصدّر النتائج المحلّية الأكثر صلةً.

حلّل الإحداثيات النصّية

تعود lat/lon كسلاسل نصّية. لفّها بـ Number(...) قبل استخدامها كإحداثيات للخريطة.

فضّل أماكن Navvo حين يمكنك

للأعمال المعروفة، يمنح البحث + الأماكن بيانات أغنى (ساعات العمل، الصور، المداخل) من الترميز الجغرافي الخام.
Copyright © 2026