الإكمال التلقائي للعناوين

اقتراحات للإدخال الجزئي، مضبوطة لسرعة الاستجابة وتحمّل الأخطاء الإملائية. يحمل كل اقتراح إحداثياته، لذا لا تحتاج معظم عمليات الدمج إلى استدعاء ثانٍ أبدًا.

GEThttps://api.mygeocode.com/v1/autocomplete

المعاملات

المعاملالنوعالوصف
qمطلوبسلسلة نصيةما كتبه المستخدم حتى الآن. 2 أحرف على الأقل، وحتى 128.
limitاختياريعدد صحيحمن 1 إلى 10. القيمة الافتراضية 5.
countriesاختياريسلسلة نصيةرموز ISO 3166-1 alpha-2 مفصولة بفواصل لحصر الاقتراحات فيها.
proximityاختياريسلسلة نصيةlat,lon. تأتي الاقتراحات القريبة أولًا. يوصى به بشدة لمربعات البحث في الخرائط.
typesاختياريسلسلة نصيةمجموعة فرعية مفصولة بفواصل من address وstreet وpostcode وcity وregion وcountry وpoi. الافتراضي هو الكل.
langاختياريسلسلة نصيةرمز ISO 639-1. القيمة الافتراضية en.
keyاختياريسلسلة نصيةمفتاح API، إذا لم يُرسل في ترويسة.

مثال

$ curl -H "X-API-Key: YOUR_KEY" "https://api.mygeocode.com/v1/autocomplete?q=oxford+st&proximity=51.515,-0.141&limit=3"
const url = new URL("https://api.mygeocode.com/v1/autocomplete");
url.searchParams.set("q", "oxford st");
url.searchParams.set("proximity", "51.515,-0.141");
url.searchParams.set("limit", "3");

const { suggestions } = await (await fetch(url, { headers: { "X-API-Key": "YOUR_KEY" } })).json();
suggestions.forEach((s) => console.log(s.text, s.lat, s.lon));
import requests

r = requests.get("https://api.mygeocode.com/v1/autocomplete",
                 params={"q": "oxford st", "proximity": "51.515,-0.141", "limit": 3}, headers={"X-API-Key": "YOUR_KEY"}, timeout=5)
for s in r.json()["suggestions"]:
    print(s["text"], s["lat"], s["lon"])
الاستجابة
{
  "status": "ok",
  "query": "oxford st",
  "suggestions": [
    { "text": "Oxford Street, London W1, United Kingdom", "lat": 51.515419, "lon": -0.141588, "type": "street", "precision": "street", "place_id": "gb.street.0a91e2c4" },
    { "text": "Oxford Street, Southampton SO14, United Kingdom", "lat": 50.899021, "lon": -1.399537, "type": "street", "precision": "street", "place_id": "gb.street.77b4d1f0" },
    { "text": "Oxford Street Station, London W1, United Kingdom", "lat": 51.515167, "lon": -0.141251, "type": "poi", "precision": "house", "place_id": "gb.poi.3c5a8e19" }
  ]
}

حقول الاستجابة

الحقلالنوعالوصف
suggestions[].textسلسلة نصيةنص العرض، في سطر واحد، باللغة المحددة في lang.
suggestions[].lat, lonرقمالإحداثيات. موجودة دائمًا.
suggestions[].type, precisionسلسلة نصيةكما في الترميز الجغرافي الأمامي.
suggestions[].place_idسلسلة نصيةمرّره إلى /v1/forward?place_id=... للحصول على المكونات الكاملة والحدود. يُحتسب ذلك الاستدعاء طلبًا واحدًا.

ملاحظات

الاستعلام نفسه بصيغ المزوّدين الآخرين

إذا كان لديك كود مكتوب بالفعل لأحد هؤلاء المزوّدين فاحتفظ به: يقبل المضيف البديل المتوافق المسار والمعاملات نفسها ويجيب بشكل استجابة ذلك المزوّد، وخلفه نقطة النهاية هذه. راجع كيف تعمل المضيفات البديلة المتوافقة.

المزوّدالمضيفالمسار
منصة Google Maps Platformgapi.mygeocode.com/maps/api/place/autocomplete/json?input=...
خدمات Bing Maps RESTbing.mygeocode.com/REST/v1/Autosuggest?query=...
الترميز الجغرافي والبحث من HEREhere.mygeocode.com/v1/autosuggest?q=...&at=lat,lng
/v1/autocomplete?q=...
Mapbox Geocodingmapbox.mygeocode.com/search/searchbox/v1/suggest?q=...
LocationIQlocationiq.mygeocode.com/v1/autocomplete?q=...
Geoapifygeoapify.mygeocode.com/v1/geocode/autocomplete?text=...
TomTom Searchtomtom.mygeocode.com/search/2/search/{query}.json?typeahead=true

الأخطاء

400 invalid_request عندما يكون q أقصر من 2 أحرف، أو يحتوي types على قيمة غير معروفة.