رفتن به محتوا
مستندات فنی

تبدیل آدرس به نقطه

با این سرویس می‌توانید یک آدرس متنی را به نقطه‌ای روی نقشه تبدیل کنید؛ مثلاً آدرس واردشده در فرم سفارش را به مختصات قابل ذخیره تبدیل کنید.

برای ارسال درخواست از سرور، یک کلید خصوصی با دسترسی این سرویس بسازید.

موارد استفاده

بخش «موارد استفاده»
  • تبدیل آدرس واردشده توسط کاربر به مختصات قابل ذخیره.
  • پیشنهاد چند گزینه برای آدرس‌های مبهم.
  • اولویت‌بندی نتایج با توجه به موقعیت کاربر یا محدوده نقشه.

برای تفاوت موقعیت کاربر و مرکز نقشه، نمودار زمینهٔ مکانی جستجو را ببینید.

دریافت مختصات از آدرس

بخش «دریافت مختصات از آدرس»

GET https://search.services.balad.ir/v5/geocoding/

آدرس یا نام مکان را به گزینه‌های مکانی تبدیل می‌کند. پارامترهای مکانی برای رفع ابهام‌اند؛ مثلاً «خیابان آزادی» در چند شهر وجود دارد و مرکز منطقهٔ موردنظر به انتخاب نتیجه کمک می‌کند. این پارامترها فیلتر قطعی محدوده نیستند. اگر نام شهر از متن تشخیص داده شود، همان شهر بر موقعیت ارسالی اولویت دارد.

تبدیل آدرس به مختصات

بخش «تبدیل آدرس به مختصات»
دستور ترمینال
curl --get "https://search.services.balad.ir/v5/geocoding/" \
--data-urlencode "text=تهران میدان آزادی" \
-H "Authorization: Bearer <BALAD_API_KEY>"

رفع ابهام آدرس با مرکز منطقهٔ موردنظر

بخش «رفع ابهام آدرس با مرکز منطقهٔ موردنظر»
دستور ترمینال
curl --get "https://search.services.balad.ir/v5/geocoding/" \
--data-urlencode "text=خیابان آزادی" \
--data-urlencode "camera=51.3890,35.6892" \
-H "Authorization: Bearer <BALAD_API_KEY>"

ارسال موقعیت کاربر و نمای فعلی نقشه

بخش «ارسال موقعیت کاربر و نمای فعلی نقشه»
دستور ترمینال
curl --get "https://search.services.balad.ir/v5/geocoding/" \
--data-urlencode "text=خیابان آزادی" \
--data-urlencode "location=51.3890,35.6892" \
--data-urlencode "camera=51.40,35.725" \
--data-urlencode "sw=51.30,35.65" \
--data-urlencode "ne=51.50,35.80" \
--data-urlencode "zoom=14.5" \
-H "Authorization: Bearer <BALAD_API_KEY>"
{
"results": [
{
"id": "poi:azadi-square",
"type": "poi",
"maintext": "میدان آزادی",
"subtext1": "تهران",
"center_point": { "lat": 35.6997, "lng": 51.3379 }
}
]
}
نام نوع اجباری پیش‌فرض توضیح
text string بله ندارد متن آدرس یا مکان.
location string خیر ندارد موقعیت جغرافیایی کاربر، مثلاً از GPS، به ترتیب طول و عرض جغرافیایی: 51.3890,35.6892. این نقطه آدرس مقصد نیست و ممکن است با منطقهٔ موردنظر فرق داشته باشد. برای تعیین منطقهٔ جستجو به‌تنهایی به آن تکیه نکنید و camera را هم بفرستید.
camera string خیر ندارد مرکز نمای فعلی نقشه به ترتیب longitude,latitude؛ مانند 51.3890,35.6892. اگر نقشه ندارید، مرکز شهر یا منطقهٔ موردنظر را بفرستید؛ برای جستجوی اطراف کاربر، آن را برابر موقعیت کاربر بگذارید.
sw string خیر ندارد گوشهٔ جنوب‌غربی کادر دیده‌شدهٔ نقشه به ترتیب longitude,latitude؛ مانند 51.30,35.65. همراه ne بفرستید تا سرویس موقعیت کاربر را نسبت به نمای نقشه بسنجد؛ نتایج الزاماً داخل این کادر نیستند.
ne string خیر ندارد گوشهٔ شمال‌شرقی همان کادر به ترتیب longitude,latitude؛ مانند 51.50,35.80. همراه sw بفرستید؛ طول و عرض این گوشه باید از طول و عرض گوشهٔ sw بیشتر باشند.
zoom number خیر ندارد بزرگ‌نمایی فعلی نقشه؛ عدد بزرگ‌تر یعنی نمای نزدیک‌تر، مانند 14.5. همراه موقعیت کاربر و کادر نقشه در انتخاب موقعیت مرجع نقش دارد. در منطق انتخاب مرکز، مقدار 7 و بالاتر امکان استفاده از camera به‌جای موقعیت کاربر را فراهم می‌کند؛ این عدد شعاع جستجو نیست.

فیلدهای پاسخ

بخش «فیلدهای پاسخ»
نام نوع توضیح
results array<object> گزینه‌های پیشنهادی برای آدرس.
results[].maintext string عنوان اصلی نتیجه.
results[].subtext1 string متن مکمل یا آدرس کوتاه.
results[].center_point object مختصات نقطه پیشنهادی.
results[].geometry object هندسه مرتبط با نتیجه، در صورت وجود.
results[].type string نوع مکان: poi مکان مشخص مثل فروشگاه یا بیمارستان؛ other-poi مکان مشخصی که توکن POI در پاسخ آن موجود نیست؛ road معبر مثل خیابان یا کوچه؛ road_intersection تقاطع معابر؛ roundabout میدان؛ neighborhood محله؛ city شهر؛ county شهرستان؛ province استان؛ village روستا.
results[].id string شناسه نتیجه.

کدهای مستند این درخواست: 200، 204، 400، 401، 403، 404، 429، 5xx. معنی کدها و راه بررسی خطا

  • برای فرم آدرس بدون نقشه، اگر نام شهر را می‌دانید آن را در text بیاورید؛ مانند «تهران، خیابان آزادی». در غیر این صورت، camera را به مرکز منطقهٔ موردنظر تنظیم کنید. نیازی به ساختن sw، ne و zoom فرضی نیست.
  • با جابه‌جایی نقشه، camera، sw، ne و zoom را از نمای جدید بگیرید؛ location همچنان موقعیت خود کاربر است. نبود زمینهٔ مکانی به معنی جستجوی بی‌طرف در سراسر کشور نیست؛ اگر شهر از متن تشخیص داده نشود و مرکز معتبری انتخاب نشود، سرویس از نقطهٔ پیش‌فرضی در تهران استفاده می‌کند.