سرویس محاسبه ماتریس مسافت، مسافت و زمان سفر بین چندین مبدا و چندین مقصد را تعیین میکند. با استفاده از این سرویس مسافت زمینی و زمان سفر بین تمامی جفت نقاط مبدا و مقصد محاسبه و در ماتریسی تحت عنوان ماتریس فاصله ذخیره میشوند. سرویس میتواند زمان سفر بین نقاط را با احتساب ترافیک و یا بدون در نظر گرفتن آن محاسبه کند.
ارائه ماتریس مسافت |
ارائه ماتریس مسافت و زمان |
تخمین زمان سفر بین نقاط با احتساب ترافیک و یا بدون درنظر گرفتن ترافیک |
get/direction/distance-matrix?parameters
پارامتر | توضیحات |
---|---|
origins |
مجموعه نقاط مبدا درخواستی را مشخص میکند. این نقاط با | از هم جدا میشوند. هر نقطه دارای طول و عرض جغرافیایی است که با , از هم تفکیک میشوند. |
destination |
مجموعه نقاط مقصد است. این نقاط با | از هم جدا میشوند. هر نقطه دارای طول و عرض جغرافیایی است که با , از هم تفکیک میشوند. |
پارامترهای اختیاری آپشنها و امکانات مختلف سرویس را ارائه میدهند. ارسال آنها جهت استفاده از سرویس اجباری نیست.
پارامتر | توضیحات | مقدار پیشفرض |
---|---|---|
durations |
ماتریس زمان بین تمامی جفت نقاط مبدا و مقصد را تعیین میکند. اگر مقدار این پارامتر false باشد و یا مقداری وارد نشده باشد تنها ماتریس مسافت برگردانده میشود. در صورت درخواست فاصله زمانی و مکانی بین مسیرها، مقدار این پارامتر باید true وارد شود. |
مقدار پیشفرض سرویس false است. |
travel_mode |
نوع وسیله نقلیه را مشخص میکند. این سرویس قابلیت انتخاب وسایل نقلیه خودرو و موتورسیکلت را دارد. درصورتیکه مقدار این پارامتر driving یا ۰ باشد و یا مقداری برای آن وارد نشده باشد تخمین زمانی برای ماشین و اگر ۱ یا motorcycling باشد تخمین زمانی برای موتور است. |
پیشفرض وسیله نقلیه خودرو (driving ) است. |
traffic |
احتساب و یا عدم احتساب ترافیک در تعیین زمان سفر را تعیین میکند. درصورت درخواست کردن محاسبه زمان سفر با در نظر گرفتن ترافیک، مقدار این پارامتر باید true باشد. در صورت درخواست کردن تعیین زمان سفر بدون در نظر گرفتن ترافیک، مقدار این پارامتر باید به false تغییر یابد. |
پیشفرض، عدم درنظرگرفتن ترافیک (false ) در محاسیه زمان سفر است. |
request_id |
در صورت ست شدن پارامتر فوق، به صورت یکتا در روز میتوان برای پیگیری استفاده نمود. | به صورت پیش فرض، عدم پیگیری در روز است. |
با ارسال مختصات جغرافیایی نقاط مبدا و مقصد، ماتریس فاصله بین تمامی جفت نقاط مبدا و مقصد در پاسخ برگردانده میشود.
https://api.parsimap.ir/direction/distance-matrix?key=PMI_API_TOKEN&origins=51.33769,35.69971|51.34034,35.69687|51.33108,35.69630&destinations=51.03769,35.29971|51.64034,35.99687|51.63108,35.19630&durations=false&travel_mode=driving&request_id=false&traffic=false
{ "origins": [ { "lat": 35.69971, "lng": 51.33769 }, { "lat": 35.69687, "lng": 51.34034 }, { "lat": 35.6963, "lng": 51.33108 } ], "destinations": [ { "lat": 35.29971, "lng": 51.03769 }, { "lat": 35.99687, "lng": 51.64034 }, { "lat": 35.1963, "lng": 51.63108 } ], "distances": [ [ 68386, 62847, 77633 ], [ 65561, 64234, 77168 ], [ 65344, 63937, 78514 ] ], "travel_mode": "driving", "status": "OK" }
پارامتر | توضیحات |
---|---|
origins |
مختصات جغرافیایی نقاط مبدا است. |
destinations |
مختصات جغرافیایی نقاط مقصد است. |
distance |
ماتریس مسافت بین جفت نقاط مبدا و مقصد است. درایههای این ماتریس فاصله مکانی بین هر جفت نقطه مبدا و مقصد است. |
status |
نتیجه درخواست را نشان میدهد. برای مثال نتیجه این درخواست OK است که به معنی موفق بودن درخواست است. نتیجه پاسخ به درخواست ارسالی توسط کاربر در قالب جدول زیر ارائه شده است: جدول |
با ارسال مختصات جغرافیایی نقاط مبدا و مقصد و درخواست تعیین ماتریس زمان، ماتریسهای فاصله و زمان بین تمامی جفت نقاط مبدا و مقصد در پاسخ برگردانده میشوند.
https://api.parsimap.ir/direction/distance-matrix?key=PMI_API_TOKEN&origins=51.33769,35.69971|51.34034,35.69687|51.33108,35.69630&destinations=51.03769,35.29971|51.64034,35.99687|51.63108,35.19630&durations=true&travel_mode=driving&request_id=false&traffic=false
{ "origins": [ { "lat": 35.69971, "lng": 51.33769 }, { "lat": 35.69687, "lng": 51.34034 }, { "lat": 35.6963, "lng": 51.33108 } ], "destinations": [ { "lat": 35.29971, "lng": 51.03769 }, { "lat": 35.99687, "lng": 51.64034 }, { "lat": 35.1963, "lng": 51.63108 } ], "distances": [ [ 68386, 62847, 77633 ], [ 65561, 64234, 77168 ], [ 65344, 63937, 78514 ] ], "durations": [ [ 3290, 4597, 4853 ], [ 3256, 4737, 4878 ], [ 3226, 4731, 4922 ] ], "travel_mode": "driving", "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/distance-matrix?key=PMI_API_TOKEN", headers: { "Content-Type": "application/x-www-form-urlencoded", }, form: { origins: "51.33145,35.69171|51.342156,35.71687|51.34012,35.71230", destinations: "51.33769,35.69971|51.34034,35.69687|51.33108,35.69630", }, }; request(options, function (error, response) { if (error) throw new Error(error); console.log(response.body); });
{ "origins": [ { "lat": 35.69171, "lng": 51.33145 }, { "lat": 35.71687, "lng": 51.342156 }, { "lat": 35.7123, "lng": 51.34012 } ], "destinations": [ { "lat": 35.69971, "lng": 51.33769 }, { "lat": 35.69687, "lng": 51.34034 }, { "lat": 35.6963, "lng": 51.33108 } ], "distances": [ [ 2178, 1835, 835 ], [ 4493, 4016, 6885 ], [ 4855, 4596, 7248 ] ], "durations": [ [ 261, 209, 100 ], [ 362, 436, 564 ], [ 446, 522, 647 ] ], "travel_mode": "driving", "status": "OK" }