سرویس Map Matching
سرویس نگاشت نقطه بر نقشه (Map Matching API) تعدادی نقاط ورودی را به محتملترین مسیری که این نقاط نشاندهنده آن هستند، نگاشت میکند.
فهرست مطالب این صفحه
شیوهی فراخوانی:
GET:
https://api.neshan.org/v1/map-matching?path=36.299394,59.606211|36.297950,59.604258|36.297206,59.603507
Headers:
Api-Key: YOUR_API_KEY
پارامتر های وروردی:
- path: نقاطی که باید به یک مسیر نگاشت شوند. هر کدام از این نقاط با علامت پایپ ( | ) از یکدیگر جدا شدهاند.مختصات هر نقطه به فرم
latitude,longitude
حداقل تعداد نقاط ورودی برابر با 2 است در غیر این صورت خطای 470 برگردانده میشود.
رمزگذاری آدرس اینترنتی :
بعضی از حروف و کاراکترها نمیتوانند بصورت مستقیم در آدرس قرار بگیرند زیراکه این کاراکترها دارای معانی خاص خود هستند به عنوان مثال کاراکتر (=) برای جداسازی کلید و مقدار آن کلید مورد استفاده قرار میگیرد از این رو در نحو نوشتاری عمومی آدرس های اینترنتی رمزگذاری مطرح شد که این مشکل را به صورت عمومی حل کند .
بعضی از کاراکترهای خاص و معادل رمزگذاری شده آن ها :
معادل رمزگذاری | کاراکتر |
%20 | Space |
%22 | “ |
%23 | # |
%7C | | |
%25 | % |
مستندات و کتابخانه ها :
- مستندات گوگل
- ساخت یک پارامتر موفق UrlEncode
- کتابخانه ها و توابع برای زبان ها (جاوا ، جاوااسکریپت , Php)
فرمت پاسخ:
{
"snappedPoints": [
{
"location": {
"latitude": 36.299336,
"longitude": 59.606256
},
"originalIndex": 0
},
{
"location": {
"latitude": 36.297886,
"longitude": 59.604335
},
"originalIndex": 1
},
{
"location": {
"latitude": 36.297218,
"longitude": 59.603496
},
"originalIndex": 2
}
]
}
اجزای این پاسخ بصورت زیر میباشند:
- snappedPoints: لیستی از نقاطی است که نقاط ورودی به آنها نگاشت شدهاند. تعداد این نقاط حداکثر برابر با تعداد نقاط ورودی است. از نقاط ورودی که قابل نگاشت شدن به هیچ مسیری نیستند صرف نظر میشود. اجزای هر نقطه به صورت زیر است:هر element به صورت زیر است:
- location: محل نقطه که با دو مقدار latitude و longitude مشخص میشود
- originalIndex: اندیسی است که مشخص میکند این نقطه نگاشت کدام یک از نقاط ورودی است. شماره اندیسها از 0 شروع میشود و برای n ورودی حداکثر n-1 است.
نکته: در صورتی که تعداد زیادی از نقاط قابلیت نگاشت شدن نداشته باشند خطای 404 برگردانده میشود.
با فراخوانی این API در صورت وجود اشکال ممکن است، خطاهای زیر در خروجی برای شما ارسال گردند. شناسایی و مدیریت این خطاها میتواند به از بروز خطاهای احتمالی در اپلیکیشن شما جلوگیری کند. این خطاها عبارتند از:
470 : CoordinateParseError
چنانچه مختصات جغرافیایی ارسالی معتبر نباشد رخ خواهد داد.
480 : KeyNotFound
در صورتی که در فراخوانی وبسرویس از یک Api Key نامتعبر استفاده کنید یا Api Key خود را در header ارسال نکنید رخ خواهد داد.
481 : LimitExceeded
در صورتی که تعداد فراخوانی وبسرویسها از میزان مجازی که برای شما تعیین شدهاست عبور کند رخ خواهد داد.
482 : RateExceeded
چنانچه تعداد درخواست وبسرویس در دقیقه از حد مجاز عبور کند رخ خواهد داد.
483 : ApiKeyTypeError
کلید دسترسی استفاده شده با سرویس فراخوانی شده همخوانی ندارد. بایستی از کلید دسترسی مرتبط با سرویس موردنظر استفاده کنید.
484 : ApiWhiteListError
با توجه به اسکوپ تعریفشده برای این کلید، شما مجاز به استفاده نیستید.
485 : ApiServiceListError
سرویس فراخوانی شده با سرویسهای تعریفشده برای این کلید دسترسی همخوانی ندارد.
500 : GenericError
در صورت بروز خطایی غیر از خطاهای بالا این خطا گزارش میشود.
بازتاب: سرویس مسیریابی فروشنده دوره گرد – پلتفرم نقشه نشان
بازتاب: شروع با نقشه وب – پلتفرم نقشه نشان