Menu
Menu
سرویس مسیریابی فروشنده دوره گرد - TSP (Traveling Salesman Problem)
این سرویس یک مشکل معروف و قدیمی بنام فروشنده دوره گرد را حل می کند. زمانیکه شخصی مانند مسئول تحویل بستهها با هر وسیله نقلیه (وانت، موتور، خودروی معمولی، …)، بیش از 1 مقصد داشته باشد، این سرویس به کمک الگوریتم هوش مصنوعی و پردازش تمام حالات ممکن، بهترین و بهینه ترین ترتیب مقاصد را به شما پیشنهاد میدهد. بعبارتی ترتیبی که مقاصد باید طی شوند پردازش نموده و به نمایش میگذارد.
شیوهی فراخوانی:
GET:
https://api.neshan.org/v3/trip?parameters
Headers:
Api-Key: YOUR_API_KEY
پارامتر های وروردی:
- waypoints: مختصات نقاط مورد نظر برای حل مساله فروشنده دوره گرد. این نقاط باید صورت
latitude,longitude
باشند که با کاما (,) از یکدیگر جدا شدهاند. هر نقطه باید با علامت پایپ ( | ) از نقطه دیگر جدا شود. - roundTrip: این پارامتر اختیاری است و مشخص میکند که آیا سفر به نقطه شروع باز میگردد یا خیر. مقدار آن به صورت
true,false
میباشد، پیش فرض آنtrue
است. - sourceIsAnyPoint: این پارامتر اختیاری است و مشخص میکند که آیا مبدا میتواند هر نقطهای
true
باشد، یا باید اولین نقطه باشدfalse
پیش فرض آنtrue
است. - lastIsAnyPoint: این پارامتر اختیاری است و مشخص میکند که آیا مقصد میتواند هر نقطهای
true
باشد، یا باید آخرین نقطه باشدfalse
پیش فرض آنtrue
است.
نکته!
ترکیب پارامترهای ورودی با مقادیری که در این جدول آمده است پشتیبانی نمیشود و در صورت استفاده سرویس خطای
This request is not supported
خواهد داد.
roundTrip | sourceIsAnyPoint | lastIsAnyPoint |
---|---|---|
false | true | false |
false | false | false |
رمزگذاری آدرس اینترنتی :
بعضی از حروف و کاراکترها نمیتوانند بصورت مستقیم در آدرس قرار بگیرند زیراکه این کاراکترها دارای معانی خاص خود هستند به عنوان مثال کاراکتر (=) برای جداسازی کلید و مقدار آن کلید مورد استفاده قرار میگیرد از این رو در نحو نوشتاری عمومی آدرس های اینترنتی رمزگذاری مطرح شد که این مشکل را به صورت عمومی حل کند .
بعضی از کاراکترهای خاص و معادل رمزگذاری شده آن ها :
معادل رمزگذاری | کاراکتر |
%20 | Space |
%22 | “ |
%23 | # |
%7C | | |
%25 | % |
مستندات و کتابخانه ها :
- مستندات گوگل
- ساخت یک پارامتر موفق UrlEncode
- کتابخانه ها و توابع برای زبان ها (جاوا ، جاوااسکریپت , Php)
فرمت پاسخ:
{
"points": [
{
"name": "محقق امین",
"location": [
35.725682,
51.49544
],
"index": 0
},
{
"name": "فردوسی",
"location": [
35.715012,
51.499415
],
"index": 1
},
{
"name": "توحید",
"location": [
35.751292,
51.538933
],
"index": 2
},
{
"name": "جلیل آباد",
"location": [
35.691695,
51.391455
],
"index": 3
},
{
"name": "پیامبر",
"location": [
35.737673,
51.321258
],
"index": 4
},
{
"name": "مجموعه ورزشی آزادی",
"location": [
35.729842,
51.265652
],
"index": 5
}
]
}
اجزای این پاسخ بصورت زیر میباشند:
- points: لیست نقاط ورودی که به ترتیب پاسخ مساله مرتب شدهاند. هر نقطه شامل اطلاعات زیر است:
- name: نام نزدیکترین معبر به آن نقطه
- location: مختصات نقطه به صورت
latitude,longitude
- index: نشان دهنده ترتیب نقاطی است که در ورودی سرویس ارسال شده است.
نمونه کد برای وب سرویس تبدیل آدرس به نقطه جغرافیایی :
این نمونه کد ها برای دو زبان PHP و JavaScript طراحی شده اند شما برای استفاده از نمونه کد ها نیاز به دو کلید دسترسی مخصوص سرویس تبدیل آدرس به نقطه جغرافیایی و کیت توسعه نقشه وب نشان دارید.
کلید دسترسی سرویس (api-key)
برای ساخت کلید دسترسی (api-key) مناسب برای این سرویس شما باید در پنل ساخت کلید دسترسی گزینه سرویس ها و سپس فروشنده دوره گرد را انتخاب کنید.
این را هم در نظر داشته باشید برای امنیت بیشتر کلید دسترسی خود و جلو گیری از سواستفاده شدن از آن IP سرور خود را نیز میتوانید در فیلد دامنه/Ip های مجاز وارد کنید.
بازتاب: شروع با نقشه وب – پلتفرم نقشه نشان