سرویس مرتبسازی چند مبدا از نقطه مقصد، نقاط (چندین مبدا) نسبت به یک نقطه مشخص (مقصد) را بر حسب مسافت بین آنها مرتب میکند. مختصات جغرافیایی نقاط مبدا و مقصد به سرویس ارسال میشوند و سرویس در پاسخ نقاط مبدا مرتب شده بر اساس کمترین قاصله تا مقصد (به صورت صعودی) را برمیگرداند.
get/direction/sorted-origins?parameters
پارامتر | توضیحات |
---|---|
origins |
مجموعه نقاط مبدا درخواستی را مشخص میکند. این نقاط با | از هم جدا میشوند. هر نقطه دارای طول و عرض جغرافیایی است که با , از هم تفکیک میشوند. |
destination |
مختصات جغرافیایی نقطه مقصد است. طول و عرض جغرافیایی این نقطه با , از هم تفکیک میشود. |
پارامترهای اختیاری آپشنها و امکانات مختلف سرویس را ارائه میدهند. ارسال آنها جهت استفاده از سرویس اجباری نیست.
پارامتر | توضیحات | مقدار پیشفرض |
---|---|---|
request_id |
در صورت ست شدن پارامتر فوق، به صورت یکتا در روز میتوان برای پیگیری استفاده نمود. | به صورت پیش فرض، عدم پیگیری در روز است. |
با ارسال مختصات جغرافیایی نقاط مبدا و مقصد، نقاط مبدا مرتب شده بر اساس کمترین قاصله تا مقصد (به صورت صعودی) برگردانده میشوند.
https://api.parsimap.ir/direction/sorted-origins?key=PMI_API_TOKEN&origins=51.33769,35.69971|51.34034,35.6968751.33108,35.69630&destination=1.33368,35.701258&travel_mode=driving&request_id=false
{ "results": [ { "start_id": 0, "distance": { "text": "۹۲۹ کیلومتر ۴۵۷ متر", "value": 929457 }, "duration": { "text": "۱۱ ساعت ۳۷ دقیقه", "value": 41875 }, "start_location": { "lat": 35.698698, "lng": 51.337759 }, "end_location": { "lat": 39.371556, "lng": 44.033153 } }, { "start_id": 2, "distance": { "text": "۹۲۹ کیلومتر ۷۳۵ متر", "value": 929735 }, "duration": { "text": "۱۱ ساعت ۴۰ دقیقه", "value": 42009 }, "start_location": { "lat": 35.696148, "lng": 51.330831 }, "end_location": { "lat": 39.371556, "lng": 44.033153 } }, { "start_id": 1, "distance": { "text": "۹۳۰ کیلومتر ۸۴۶ متر", "value": 930846 }, "duration": { "text": "۱۱ ساعت ۴۰ دقیقه", "value": 42015 }, "start_location": { "lat": 35.696839, "lng": 51.341147 }, "end_location": { "lat": 39.371556, "lng": 44.033153 } } ], "status": "OK" }
پارامتر | توضیحات |
---|---|
results |
نتایج حاصل از مرتبسازی نقاط مبدا است. results شامل بخشهای است که هر بخش خود شامل شناسه یکتای نقاط مبدا (start_id )، مسافت، مختصات نقطه شروع و پایان مسیر برای هر دو نقطه تعیین شده در ورودی (مبداها-مقصد) است. برای هر نقطه مبدا یک شناسه یکتا (start_id ) تعریف میشود. ترتیب قرارگیری این بخشها مهم است، زیرا نقاط مبدا با start_id منحصر بفرد خود براساس کمترین فاصله تا نقطه مقصد و به صورت صعودی در این بخش قرار میگیرند. اولین بخش مربوط به مبدایی است که کمترین فاصله تا مقصد مورد نظر را دارد.اولین مبدا وارد شده دارای start_id صفر است و بقیه نقاط مبدا به ترتیب از start_id یک تا آخر شماره گزاری میشوند. برای مثال، در خروجی فوق اولین start_id در بخش results برابر صفر است، بدین معنی که کمترین فاصله تا مقصد را اولین مبدا وارد شده دارد. پس از آن مبدا با start_id دو که سومین مبدا وارد شده است، کمترین مسافات تا مقصد را دارا است. در این مثال start_id یک که دومین مبدا وارد شده است دارای بیشترین فاصله مقصد است.
|
status |
نتیجه درخواست را نشان میدهد. برای مثال نتیجه این درخواست OK است که به معنی موفق بودن درخواست است. نتیجه پاسخ به درخواست ارسالی توسط کاربر در قالب جدول زیر ارائه شده است: جدول |
پارامترهای سرویس به صورت POST
ارسال میگردند. برای ارسال درخواست با استفاده از متد POST
پارامتر headers
باید به صورت زیر تعیین شود.
"Content-Type": "application/x-www-form-urlencoded"
var request = require("request"); var options = { method: "POST", url: "https://api.parsimap.ir/direction/sort-origins?key=PMI_API_TOKEN", headers: { "Content-Type": "application/x-www-form-urlencoded", }, form: { origins: "51.32569,35.70859|51.33895,35.89547|51.34125,35.69879", destination: "51.34986,35.72687", }, }; request(options, function (error, response) { if (error) throw new Error(error); console.log(response.body); });
{ "results": [ { "start_id": 0, "distance": { "text": "۶ کیلومتر ۳۵۸ متر", "value": 6358 }, "duration": { "text": "۹ دقیقه ۳۶ ثانیه", "value": 576 }, "start_location": { "lat": 35.709529, "lng": 51.325015 }, "end_location": { "lat": 35.72687, "lng": 51.349856 } }, { "start_id": 2, "distance": { "text": "۸ کیلومتر ۵۸۱ متر", "value": 8581 }, "duration": { "text": "۱۱ دقیقه ۳۲ ثانیه", "value": 692 }, "start_location": { "lat": 35.698963, "lng": 51.340979 }, "end_location": { "lat": 35.72687, "lng": 51.349856 } }, { "start_id": 1, "distance": { "text": "۳۸ کیلومتر ۳۰۶ متر", "value": 38306 }, "duration": { "text": "۵۵ دقیقه ۴۱ ثانیه", "value": 3341 }, "start_location": { "lat": 35.88042, "lng": 51.341205 }, "end_location": { "lat": 35.72687, "lng": 51.349856 } } ], "status": "OK" }