الترميز الجغرافي العكسي
تُدخل إحداثيات فتحصل على أقرب عنوان، أو على المنطقة أو الإقليم أو الدولة إن كان هذا كل ما تريده.
GEThttps://api.mygeocode.com/v1/reverse
المعاملات
| المعامل | النوع | الوصف |
|---|---|---|
latمطلوب | رقم | من -90 إلى 90. |
lonمطلوب | رقم | من -180 إلى 180. |
levelاختياري | سلسلة نصية | أدق مستوى يُعاد: address (الافتراضي) أو street أو postcode أو city أو region أو country. المستويات الأعم أسرع ولا تنزل أبدًا دون المستوى المطلوب. |
radiusاختياري | عدد صحيح | نصف قطر البحث عن العناوين بالأمتار، من 1 إلى 5000. القيمة الافتراضية 5000. اجعله صغيرًا لتحصل على null بدلًا من عنوان بعيد. |
langاختياري | سلسلة نصية | رمز ISO 639-1 للأسماء. القيمة الافتراضية en. |
keyاختياري | سلسلة نصية | مفتاح API، إذا لم يُرسل في ترويسة. |
مثال
$ curl -H "X-API-Key: YOUR_KEY" "https://api.mygeocode.com/v1/reverse?lat=41.8902&lon=12.4922&lang=it"const url = new URL("https://api.mygeocode.com/v1/reverse");
url.searchParams.set("lat", 41.8902);
url.searchParams.set("lon", 12.4922);
url.searchParams.set("lang", "it");
const { result } = await (await fetch(url, { headers: { "X-API-Key": "YOUR_KEY" } })).json();
console.log(result ? result.formatted : "nothing nearby");import requests
r = requests.get("https://api.mygeocode.com/v1/reverse",
params={"lat": 41.8902, "lon": 12.4922, "lang": "it"}, headers={"X-API-Key": "YOUR_KEY"}, timeout=10)
result = r.json()["result"]
print(result["formatted"] if result else "nothing nearby")الاستجابة
{
"status": "ok",
"lat": 41.8902,
"lon": 12.4922,
"result": {
"formatted": "Piazza del Colosseo 1, 00184 Roma RM, Italia",
"lat": 41.890251,
"lon": 12.492373,
"distance_m": 9,
"type": "address",
"precision": "house",
"place_id": "it.addr.5d09aa31",
"components": {
"house_number": "1",
"road": "Piazza del Colosseo",
"suburb": "Municipio Roma I",
"city": "Roma",
"county": "Roma",
"state": "Lazio",
"postcode": "00184",
"country": "Italia",
"country_code": "it"
}
}
}حقول الاستجابة
| الحقل | النوع | الوصف |
|---|---|---|
lat, lon | رقم | النقطة التي أرسلتها، معادة كما هي. |
result | كائن أو null | null عندما لا يوجد شيء ضمن radius على المستوى المطلوب. |
result.formatted | سلسلة نصية | العنوان، أو اسم المنطقة للمستويات الأعم. |
result.lat, result.lon | رقم | موقع العنصر المُعاد، لا نقطتك. |
result.distance_m | عدد صحيح | المسافة بالأمتار من نقطتك إلى العنصر. 0 عندما تكون النقطة داخله. |
result.type, result.precision, result.place_id, result.components | كما في الترميز الجغرافي الأمامي. |
ملاحظات
- القيمة الكبيرة في
distance_mإشارة. قد تبعد نقطة في حديقة 300 م عن أقرب عنوان، وفي هذه الحالة يكون عرض الحي أفضل عادةً من عرض العنوان. - يجيب
level=countryفي نحو جزء من الألف من الثانية، وهو أرخص طريقة للإجابة عن سؤال «في أي دولة تقع هذه النقطة». - النقاط الواقعة في البحر تعيد
nullعلى مستوىaddress، وضمن المياه الإقليمية تعيد الدولة على مستوىcountry.
الاستعلام نفسه بصيغ المزوّدين الآخرين
إذا كان لديك كود مكتوب بالفعل لأحد هؤلاء المزوّدين فاحتفظ به: يقبل المضيف البديل المتوافق المسار والمعاملات نفسها ويجيب بشكل استجابة ذلك المزوّد، وخلفه نقطة النهاية هذه. راجع كيف تعمل المضيفات البديلة المتوافقة.
| المزوّد | المضيف | المسار |
|---|---|---|
| منصة Google Maps Platform | gapi.mygeocode.com | /maps/api/geocode/json?latlng=lat,lng |
| خدمات Bing Maps REST | bing.mygeocode.com | /REST/v1/Locations/{lat},{lon} |
| الترميز الجغرافي والبحث من HERE | here.mygeocode.com | /v1/revgeocode?at=lat,lng |
| Mapbox Geocoding | mapbox.mygeocode.com | /geocoding/v5/mapbox.places/{lon},{lat}.json/search/geocode/v6/reverse?longitude=...&latitude=... |
| Geocode.Farm | farm.mygeocode.com | /reverse/?lat=...&lon=.../v3/json/reverse/?lat=...&lon=... |
| OpenStreetMap Nominatim | osm.mygeocode.com | /reverse?lat=...&lon=...&format=json |
| OpenCage | opencage.mygeocode.com | /geocode/v1/json?q=lat,lng |
| LocationIQ | locationiq.mygeocode.com | /v1/reverse?lat=...&lon=...&format=json |
| Geoapify | geoapify.mygeocode.com | /v1/geocode/reverse?lat=...&lon=... |
| TomTom Search | tomtom.mygeocode.com | /search/2/reverseGeocode/{lat},{lon}.json |
| MapQuest Geocoding | mapquest.mygeocode.com | /geocoding/v1/reverse?location=lat,lng |
| Geocodio | geocodio.mygeocode.com | /v1.7/reverse?q=lat,lng |
| PositionStack | positionstack.mygeocode.com | /v1/reverse?query=lat,lng |
الاستعلامات المجمّعة
أرسل جسم JSON إلى المسار نفسه بطريقة POST يحتوي على coords، وهي مصفوفة تضم حتى 100 زوج [lat, lon]، وستحمل الإجابة مصفوفة results فيها إدخال واحد لكل زوج بترتيب الإرسال. يُحتسب كل إدخال طلبًا واحدًا، والدفعة الأكبر مما تبقى من الحصة تُرفض كاملة.
$ curl -X POST "https://api.mygeocode.com/v1/reverse" -H "Content-Type: application/json" -d '{"coords": [[52.5163, 13.3777], [47.3769, 8.5417]]}'الأخطاء
400 invalid_request عندما يكون lat أو lon مفقودًا أو خارج النطاق، أو لا يكون level إحدى القيم المدرجة.