در حال بارگذاری

پرش به مطلب اصلی

سرویس تبدیل آدرس به موقعیت (Geocoding API)

هشدار

صفحه‌ای که در حال مشاهده آن هستید، حاوی مستندات نسخه قدیمی سرویس تبدیل آدرس به موقعیت می‌باشد. مستندات مرتبط با نسخه قدیمی این سرویس را در این صفحه می‌توانید مشاهده کنید.

از سرویس تبدیل آدرس به موقعیت می‌توانید برای تبدیل یک آدرس نوشتاری به یک مختصات جغرافیایی استفاده کنید.

اطلاع
  1. ۱

    اولین قدم ثبت‌نام و دریافت API KEY برای اپلیکیشنی است که قصد دارید در آن از Map Api نشان استفاده کنید. کافیست در لینک فوق فرم مربوطه را تکمیل کنید تا بلافاصله API KEY را دریافت نمایید.

  2. ۲

    Api Key دریافتی از پنل توسعه‌دهندگان نشان را به صورتی که در ادامه مشاهده می‌کنید از طریق کلید Api-Key در header درخواست سرویس بگنجانید.

  3. ۳

    درخواست خود را با توجه به پارامترهایی که مربوط به سرویس موردنظرتان است با متد GET فراخوانی کنید.

  4. ۴

    چنانچه درخواست شما با موفقیت پردازش و پاسخ داده شود، خروجی با فرمت JSON دریافت خواهید کرد و چنانچه به هر دلیل خطایی رخ دهد، کد خطا بصورت HTTP Status Code و نوع آن با فرمت JSON ارسال می‌گردد. کدهای خطای احتمالی نیز در ادامه به صورت کامل توضیح داده شده‌اند.

شیوه‌ی فراخوانی

برای استفاده از این سرویس، یک درخواست GET به اندپوینت زیر ارسال کنید:

GET https://api.neshan.org/v4/geocoding?address=ADDRESS

هدرهای درخواست (Headers)

Api-Key: YOUR_API_KEY

پارامتر ورودی

پارامترتوضیحاتنوع پارامتر
addressآدرس نوشتاری مورد نظر برای تبدیل به مختصات.اجباری

نمونه درخواست

curl --location 'GET https://api.neshan.org/v4/geocoding?address=ADDRESS' \
--header 'Api-Key: YOUR_API_KEY'

فرمت پاسخ

پاسخ سرویس در قالب یک آبجکت JSON بازگردانده می‌شود.

{
"status": "OK",
"location": {
"x": 59.58030012321334,
"y": 36.30608816378243
}
}

اجزای پاسخ

پارامترتوضیحات
statusوضعیت کلی پاسخ را نشان می‌دهد. در صورت موفقیت‌آمیز بودن، مقدار آن OK خواهد بود.
locationیک آبجکت شامل مختصات جغرافیایی معادل با آدرس ورودی.

آبجکت location

پارامترتوضیحات
xطول جغرافیایی (Longitude).
yعرض جغرافیایی (Latitude).

نکات برای دریافت نتایج دقیق‌تر

برای بهبود دقت سرویس، نکات زیر را در آدرس‌های ارسالی رعایت کنید:

  1. ترتیب اجزای آدرس: تا حد امکان ترتیب زیر را رعایت کنید:

    • استان + شهر/روستا + میدان + خیابان + کوچه + پلاک

    نکته: شماره پلاک در حال حاضر در شهرهای تهران، مشهد، تبریز و کرج قابل استفاده است.

  2. استفاده از جداکننده: حتماً همه اجزای آدرس را با کاراکتر فاصله (space) از هم جدا کنید. برای مثال، شهیدبابایی را به صورت شهید بابایی ارسال کنید.

  3. حذف اطلاعات اضافی: مشخصات مربوط به POIها مانند نام ساختمان، طبقات و برج‌ها را از آدرس حذف کنید.

    • مثال: آدرس آذربایجان شرقی تبریز خیابان ارتش شمالی کوچه بازارچه رنگی ساختمان رضوی را به آذربایجان شرقی تبریز خیابان ارتش شمالی کوچه بازارچه رنگی تغییر دهید.
  4. آدرس روستا: اگر مقصد یک روستا است، بعد از نام استان، بلافاصله نام روستا را بیاورید و نیازی به ذکر نام شهر نیست.

کد خطاهای سرویس

HTTP CodeStatusDescription
404NOT_FOUNDکد پستی با این مشخصات یافت نشده است
400INVALID_ARGUMENTخطا در پارامتر های ورودی
470CoordinateParseErrorچنانچه مختصات جغرافیایی ارسالی معتبر نباشد رخ خواهد داد.
480KeyNotFoundدر صورتی که در فراخوانی وب‌سرویس از یک Api Key نامعتبر استفاده کنید یا Api Key خود را در header ارسال نکنید رخ خواهد داد.
481LimitExceededدر صورتی که تعداد فراخوانی وب‌سرویس‌ها از میزان مجازی که برای شما تعیین شده‌است عبور کند رخ خواهد داد.
482RateExceededچنانچه تعداد درخواست وب‌سرویس در دقیقه از حد مجاز عبور کند رخ خواهد داد.
483ApiKeyTypeErrorکلید دسترسی استفاده شده با سرویس فراخوانی شده همخوانی ندارد. بایستی از کلید دسترسی مرتبط با سرویس مورد نظر استفاده کنید.
484ApiWhiteListErrorبا توجه به اسکوپ تعریف‌شده برای این کلید، شما مجاز به استفاده نیستید.
485ApiServiceListErrorسرویس فراخوانی شده با سرویس‌های تعریف‌شده برای این کلید دسترسی همخوانی ندارد.
500GenericErrorوقوع خطای ناشناخته