الإكمال التلقائي للعناوين
اقتراحات للإدخال الجزئي، مضبوطة لسرعة الاستجابة وتحمّل الأخطاء الإملائية. يحمل كل اقتراح إحداثياته، لذا لا تحتاج معظم عمليات الدمج إلى استدعاء ثانٍ أبدًا.
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=... للحصول على المكونات الكاملة والحدود. يُحتسب ذلك الاستدعاء طلبًا واحدًا. |
ملاحظات
- أخّر معالجة الإدخال بنحو 150 ms وألغِ الطلبات الجارية عندما يواصل المستخدم الكتابة. تحمل الاستجابات قيمة
queryالتي تجيب عنها، لتتمكن من تجاهل الاستجابات القديمة. - لا توجد رموز جلسة. كل استدعاء طلب واحد. يتطلب اختيار عنوان نموذجي من 4 إلى 6 استدعاءات.
- الاستدعاء من المتصفح في الفئة المجانية هو الاستخدام المقصود للمواقع العامة. يُحتسب عنوان IP الخاص بالزائر، لا عنوانك.
- تتوفر صيغ أداة Google
places.AutocompleteوMapbox Search Box وHERE Autosuggest وBing Autosuggest على المضيفات البديلة المتوافقة.
الاستعلام نفسه بصيغ المزوّدين الآخرين
إذا كان لديك كود مكتوب بالفعل لأحد هؤلاء المزوّدين فاحتفظ به: يقبل المضيف البديل المتوافق المسار والمعاملات نفسها ويجيب بشكل استجابة ذلك المزوّد، وخلفه نقطة النهاية هذه. راجع كيف تعمل المضيفات البديلة المتوافقة.
| المزوّد | المضيف | المسار |
|---|---|---|
| منصة Google Maps Platform | gapi.mygeocode.com | /maps/api/place/autocomplete/json?input=... |
| خدمات Bing Maps REST | bing.mygeocode.com | /REST/v1/Autosuggest?query=... |
| الترميز الجغرافي والبحث من HERE | here.mygeocode.com | /v1/autosuggest?q=...&at=lat,lng/v1/autocomplete?q=... |
| Mapbox Geocoding | mapbox.mygeocode.com | /search/searchbox/v1/suggest?q=... |
| LocationIQ | locationiq.mygeocode.com | /v1/autocomplete?q=... |
| Geoapify | geoapify.mygeocode.com | /v1/geocode/autocomplete?text=... |
| TomTom Search | tomtom.mygeocode.com | /search/2/search/{query}.json?typeahead=true |
الأخطاء
400 invalid_request عندما يكون q أقصر من 2 أحرف، أو يحتوي types على قيمة غير معروفة.