وب‌سرویس‌های نشان

وب‌سرویس ماتریس فاصله

سرویس Distance Matrix با در نظر گرفتن ترافیک

پلتفرم نقشه نشان با بهره‌گیری از داده و مشارکت جامعه کاربران دو میلیونی مسیریاب نشان، تنها ارائه‌دهنده ایرانی سرویس ماتریس فاصله بر اساس دیتای ترافیک آنلاین است.

با استفاده از وب‌سرویس ماتریس فاصله (Distance Matrix API) میتوانید فاصله و زمان حرکت میان ماتریسی از نقاط شروع و پایانی را به دست آورید. تمامی فواصل و زمان‌ها با در نظر گرفتن بهترین مسیر بر اساس وضعیت فعلی ترافیک محاسبه می‌شوند.

شیوه‌ی فراخوانی:
GET:
    https://api.neshan.org/v1/distance-matrix?origins=36.3177579,59.5323219|36.337115,59.530621&destinations=36.35067,59.5451965|36.337005,59.530021
Headers:
    Api-Key: YOUR_API_KEY
پارامترهای ورودی:
  • origins: لیستی از مختصات نقاط شروعی. هر کدام از این مختصات باید به فرم latitude,longitude باشند که با کاما (,) از یکدیگر جدا شده‌اند. در صورتی که تعداد مختصات بیشتر از یک عدد باشد از علامت پایپ ( | ) برای جداسازی آنها استفاده می‌شود.
  • destinations: لیستی از مختصات نقاط پایانی که قالب آن مانند origins است.
فرمت پاسخ:
{
	"status": "Ok",
	"rows": [
    	{
        	"elements": [
            	{
                	"status": "Ok",
                	"duration": {
                    	"value": 699,
                    	"text": "۱۲ دقیقه"
                	},
                	"distance": {
                    	"value": 8332,
                    	"text": "۸ کیلومتر"
                	}
            	},
            	{
                	"status": "Ok",
                	"duration": {
                    	"value": 605,
                    	"text": "۱۰ دقیقه"
                	},
                	"distance": {
                    	"value": 5373,
                    	"text": "۵ کیلومتر"
                	}
            	}
        	]
    	},
    	{
        	"elements": [
            	{
                	"status": "Ok",
                	"duration": {
                    	"value": 511,
                    	"text": "۹ دقیقه"
                	},
                	"distance": {
                    	"value": 5317,
                    	"text": "۵ کیلومتر"
                	}
            	},
            	{
                	"status": "Ok",
                	"duration": {
                    	"value": 69,
                    	"text": "۱ دقیقه"
                	},
                	"distance": {
                    	"value": 389,
                    	"text": "۴۰۰ متر"
                	}
            	}
        	]
    	}
	],
	"origin_addresses": [
    	"36.317559,59.532226",
    	"36.337077,59.530843"
	],
	"destination_addresses": [
    	"36.350681,59.545227",
    	"36.337012,59.530023"
	]
}
اجزای این پاسخ بصورت زیر می‌باشند:
  • status: وضعیت کلی درخواست را نشان می‌دهد.در صورتی که درخواست شما با موفقیت پردازش شده باشد مقدار آن "Ok" است.
  • origin_addresses: آرایه‌ای از مختصات نقاط شروعی.هر کدام از مختصات به فرم latitude,longitude هستند.
  • destination_addresses: آرایه‌ای از مختصات نقاط پایانی. هر کدام از مختصات به فرم latitude,longitude هستند.
  • rows: پاسخ Distance Matrix در آرایه ای از سطرها (rows) ذخیره می‌شود که هر سطر شامل آرایه‌ای از المنت‌ها (elements) است.
    ترتیب قرار گرفتن سطر ها بر اساس مقادیر قرار گرفته در origin_addresses است به طوری که سطر iام متناظر با مختصات iام در آرایه origin_addresses می باشد.
  • elements: آرایه‌ای از element هاست و ترتیب قرار گرفتن المنت‌ها (elements) در هر سطر براساس مقادیر قرار گرفته در destination_addresses است به طوری که المنت iام متناظر با مختصات iام در آرایه destination_addresses می‌باشد. هر element نشان دهنده زمان-مسافت بین یک زوج از نقاط شروعی و پایانی می‌باشد.
    اجزای هر element به صورت زیر هستند:
    • status: سه حالت برای این مقدار وجود دارد:
      • NoRoute: هیچ مسیری بین دو نقطه شروع و پایان وجود ندارد.
      • UnknownError: نشان دهنده مشکل سمت سرور در هنگام پردازش این element است.ممکن است با تلاش دوباره این مشکل برطرف شود.
      • Ok: پردازش element با موفقیت انجام شده است. فقط در این حالت دو متغیر distance و duration وجود دارند.
    • distance: فاصله بین دو نقطه که به دو صورت عددی و قابل خواندن ارائه می‌شود. در فرمت عددی مقدار فاصله به متر است.
    • duration: زمان سفر بین دو نقطه که به دو صورت عددی و قابل خواند ارائه می‌شود. در فرمت عددی مقدار زمان به ثانیه است.