نمایک، نیاز اول کسب و کارها
پرش به محتوای اصلی

مسیریابی

مسیر خودرو، پیاده و دوچرخه با دستورهای فارسی، نقاط میانی، مسیر جایگزین و پرهیز از عوارضی و آزادراه.

در این صفحه

درخواست

GET /v1/route مسیر خودرو، پیاده یا دوچرخه را با دستورهای گام به گام فارسی می‌دهد. دسترسی maps:routing، سرویس maps.route، یک واحد برای هر درخواست (هر تعداد نقطه یا مسیر جایگزین).

curl -sS "https://maps.namayek.com/v1/route?coordinates=51.41,35.757;51.338,35.6997&profile=car&alternatives=1&exclude=toll" \  -H "X-Namayek-Key: $NAMAYEK_SECRET_KEY"

پارامترها

پارامترهای /v1/route
پارامترنوعلزومپیش‌فرضتوضیح
coordinateslng,lat;lng,lat;…یا from و to—۲ نقطه تا سقف نقطه‌های مسیر (پیش‌فرض ۲۵).
from / tolng,latیا coordinates—مبدا و مقصد (شکل کیت توسعه).
vialng,lat;…اختیاری—نقطه‌های میانی؛ فقط همراه from و to.
profilecar | foot | bikeاختیاریتنظیم پروژهخودرو، پیاده یا دوچرخه.
alternatives0..3 | true | falseاختیاری0مسیر جایگزین (true یعنی ۱)؛ با بیش از ۲ نقطه نادیده گرفته می‌شود.
steps0 | 1اختیاری1دستورهای گام به گام.
stepGeometry0 | 1اختیاری0هندسه هر گام.
geometrygeojson | polyline | polyline6اختیاریgeojsonقالب هندسه مسیر.
overviewfull | simplified | noneاختیاریfullدقت هندسه کل مسیر؛ none یعنی بی هندسه.
excludecsvاختیاری—toll، motorway، ferry (فقط car).
radiusesr;r;…اختیاری—شعاع چسباندن هر نقطه به راه، ۱ تا ۱۰۰۰ متر.
continueStraight0 | 1اختیاری—ادامه مستقیم در نقطه‌های میانی.
lang / digitsfa | en / fa | latinاختیاریپروژه / بر پایه زبانزبان و رقم دستورها و متن فاصله و زمان.
keystringیا سرآیند—فقط کلید عمومی nmk_pk_ در نشانی؛ روی سرور کلید را در سرآیند X-Namayek-Key بفرستید.

پاسخ

فیلدهای پاسخ مسیر
فیلدنوع / مقدارتوضیح
codeOK | NO_ROUTENO_ROUTE یعنی راهی نیست؛ routes خالی است (هزینه دارد چون مسیریاب کار کرد).
routes[].distance / durationnumberمتر و ثانیه با یک رقم اعشار.
routes[].distanceText / durationTextstringمتن آماده نمایش («۵٫۲ کیلومتر»، «۱۰ دقیقه»).
routes[].summarystringدو راه مهم مسیر با «، ».
routes[].bbox[w, s, e, n]محدوده مسیر برای قاب‌بندی نقشه.
routes[].geometryLineString | string | nullبر پایه geometry و overview.
routes[].legs[].steps[]RouteStep[]گام‌ها با instruction فارسی، maneuver و mode.
waypoints[]object[]نقطه‌های چسبیده به راه با name و snapDistance.
dataVersionstring | nullنسخه داده مسیریاب.
یک گام
{  "distance": 230.5,  "duration": 31.2,  "distanceText": "۲۳۰ متر",  "durationText": "کمتر از یک دقیقه",  "name": "ولیعصر",  "ref": null,  "mode": "driving",  "instruction": "به راست بپیچید و وارد ولیعصر شوید",  "maneuver": { "type": "turn", "modifier": "right", "location": [51.41, 35.757], "bearingBefore": 2, "bearingAfter": 92, "exit": null }}

دستورهای فارسی

متن هر دستور را سرور از نوع مانور، جهت و نام راه می‌سازد (هرگز از متن خام موتور مسیریاب). W نام راه است؛ اگر راه نام نداشته باشد ستون دوم به کار می‌رود.

دستورهای فارسی بر پایه نوع مانور
نوعبا نام راهبی نام راه
departدر W به سمت {جهت} حرکت کنیدبه سمت {جهت} حرکت کنید
arrive (آخرین بخش)به مقصد رسیده اید + سمتهمان
arrive (توقف میانی)به توقف {i} رسیده اید + سمتهمان
turn{پیچ} و وارد W شوید؛ دور برگردان: دور بزنید و در W ادامه دهید{پیچ}
new nameدر W ادامه دهیدمستقیم ادامه دهید
continueدر W مستقیم ادامه دهید؛ کمی به {SIDE} ادامه دهید و در W بمانیدمستقیم ادامه دهید
mergeاز سمت {SIDE} وارد W شویداز سمت {SIDE} به مسیر اصلی بپیوندید
on rampبرای رفتن به {dest}، وارد رمپ سمت {SIDE} شوید؛ یا: وارد رمپ W شویدوارد رمپ سمت {SIDE} شوید
off rampاز خروجی {شماره} خارج شوید و وارد W شویداز خروجی سمت {SIDE} خارج شوید
forkدر دوراهی سمت {SIDE} را بگیرید و وارد W شویددر دوراهی سمت {SIDE} را بگیرید
end of roadدر انتهای راه {پیچ} و وارد W شویددر انتهای راه {پیچ}
roundabout, rotaryوارد میدان {نام} شوید و از خروجی {ترتیبی} خارج شوید و وارد W شویدبی « و وارد W شوید»؛ بی خروجی: وارد میدان شوید
roundabout turnدر میدان {پیچ} و وارد W شویددر میدان {پیچ}
exit roundaboutاز میدان خارج شوید و وارد W شویداز میدان خارج شوید
notificationدر W ادامه دهیدمستقیم ادامه دهید
use laneدر خط مناسب بمانید و {پیچ}همان
mode = ferryبا کشتی ادامه دهیدهمان
عبارت پیچ (modifier)
modifierعبارت
uturnدور بزنید
sharp rightبه تندی به راست بپیچید
rightبه راست بپیچید
slight rightکمی به راست بپیچید
straightمستقیم بروید
slight leftکمی به چپ بپیچید
leftبه چپ بپیچید
sharp leftبه تندی به چپ بپیچید
پسوند سمت مقصد
modifierپسوند
left / slight left / sharp left؛ مقصد در سمت چپ شماست
right / slight right / sharp right؛ مقصد در سمت راست شماست
straight؛ مقصد روبروی شماست
متن فاصله و زمان
مقدارمتن
کمتر از 50 مترکمتر از ۵۰ متر
کمتر از 1000 مترگرد به ده متر: «۲۳۰ متر»
کمتر از 10 کیلومتریک رقم اعشار: «۲٫۴ کیلومتر»
بیشترعدد صحیح: «۱۵ کیلومتر»
زمان کمتر از 60 ثانیهکمتر از یک دقیقه
زمان کمتر از یک ساعت«۲۱ دقیقه»
زمان بیشتر«۱ ساعت و ۲۰ دقیقه»

با lang=en دستورها انگلیسی و با digits=latin رقم‌ها لاتین می‌شوند.

قالب هندسه

  • geojson (پیش‌فرض): LineString با مختصات [lng, lat]؛ مستقیم به MapLibre یا map.showRoute() بدهید.
  • polyline و polyline6: رشته فشرده Google با دقت ۵ یا ۶ رقم؛ برای ذخیره یا فرستادن به نقشه ایستا.
  • overview=simplified هندسه سبک‌تر و none بی هندسه (فقط فاصله و زمان).

مسیر جایگزین و پرهیز

alternatives=1..3 مسیرهای جایگزین می‌دهد (فقط با دو نقطه). exclude=toll,motorway,ferry برای خودرو از عوارضی، آزادراه یا کشتی پرهیز می‌کند. مجموع فاصله مستقیم نقطه‌ها نباید از سقف (پیش‌فرض ۲۵۰۰ کیلومتر) بیشتر شود.

خطاهای مسیر

خطاهای رایج مسیریابی
کدHTTPمعنی و اقدام
COORDINATES_INVALID400مختصات معتبر نیستترتیب lng,lat را بررسی کنید؛ عدد بی توان و حداکثر ۱۰ رقم اعشار.param, index
TOO_MANY_COORDINATES400تعداد نقطه ها بیش از حد مجاز استتعداد نقطه‌ها را تا سقف کم کنید.max
ROUTE_TOO_LONG400فاصله نقطه ها بیش از حد مجاز استمسیر را به چند بخش کوتاه‌تر بشکنید.maxKm
OUT_OF_COVERAGE422این نقطه بیرون از محدوده پوشش سرویس استنقطه را در محدوده داده (مثلا ایران) بفرستید.index
POINT_NOT_ROUTABLE422نزدیک این نقطه راهی پیدا نشدنقطه را به نزدیک‌ترین خیابان ببرید یا radiuses را بزرگ‌تر کنید.index
UPSTREAM_ERROR502سرویس با خطا پاسخ داد؛ دوباره تلاش کنیدیک بار دیگر بفرستید.

آخرین به‌روزرسانی: