Method: computeRoutes

با توجه به مجموعه ای از ایستگاه های پایانه و میانی، مسیر اصلی را به همراه مسیرهای جایگزین اختیاری برمی گرداند.

توجه: این روش مستلزم آن است که یک ماسک فیلد پاسخ را در ورودی مشخص کنید. می‌توانید ماسک فیلد پاسخ را با استفاده از پارامتر URL $fields یا fields ، یا با استفاده از هدر HTTP/gRPC X-Goog-FieldMask ارائه دهید (به پارامترها و سرصفحه‌های URL موجود مراجعه کنید). مقدار یک لیست از مسیرهای فیلد جدا شده با کاما است. به مستندات دقیق در مورد نحوه ساخت مسیرهای فیلد مراجعه کنید.

برای مثال در این روش:

  • ماسک فیلد تمام فیلدهای موجود (برای بازرسی دستی): X-Goog-FieldMask: *
  • ماسک میدانی از مدت زمان، فاصله و چند خط سطح مسیر (نمونه ای از تنظیمات تولید): X-Goog-FieldMask: routes.duration,routes.distanceMeters,routes.polyline.encodedPolyline

Google از استفاده از ماسک فیلد پاسخ ( * ) یا مشخص کردن ماسک فیلد در سطح بالا ( routes ) جلوگیری می کند، زیرا:

  • انتخاب فقط فیلدهایی که نیاز دارید به سرور ما کمک می کند تا چرخه های محاسباتی را ذخیره کند و به ما امکان می دهد نتیجه را با تاخیر کمتری به شما برگردانیم.
  • انتخاب تنها زمینه هایی که در کار تولیدی خود به آن نیاز دارید، عملکرد تاخیر پایدار را تضمین می کند. ممکن است در آینده فیلدهای پاسخ بیشتری اضافه کنیم و این فیلدهای جدید ممکن است به زمان محاسبات اضافی نیاز داشته باشند. اگر همه فیلدها را انتخاب کنید، یا اگر همه فیلدها را در سطح بالا انتخاب کنید، ممکن است با کاهش عملکرد مواجه شوید زیرا هر فیلد جدیدی که اضافه کنیم به طور خودکار در پاسخ گنجانده می شود.
  • انتخاب تنها فیلدهایی که به آنها نیاز دارید باعث می‌شود که اندازه پاسخ کوچک‌تر و در نتیجه توان عملیاتی شبکه بیشتر شود.

درخواست HTTP

POST https://routes.googleapis.com/directions/v2:computeRoutes

URL از دستور GRPC Transcoding استفاده می کند.

درخواست بدن

بدنه درخواست حاوی داده هایی با ساختار زیر است:

نمایندگی JSON
{
  "origin": {
    object (Waypoint)
  },
  "destination": {
    object (Waypoint)
  },
  "intermediates": [
    {
      object (Waypoint)
    }
  ],
  "travelMode": enum (RouteTravelMode),
  "routingPreference": enum (RoutingPreference),
  "polylineQuality": enum (PolylineQuality),
  "polylineEncoding": enum (PolylineEncoding),
  "departureTime": string,
  "arrivalTime": string,
  "computeAlternativeRoutes": boolean,
  "routeModifiers": {
    object (RouteModifiers)
  },
  "languageCode": string,
  "regionCode": string,
  "units": enum (Units),
  "optimizeWaypointOrder": boolean,
  "requestedReferenceRoutes": [
    enum (ReferenceRoute)
  ],
  "extraComputations": [
    enum (ExtraComputation)
  ],
  "trafficModel": enum (TrafficModel),
  "transitPreferences": {
    object (TransitPreferences)
  }
}
فیلدها
origin

object ( Waypoint )

مورد نیاز. نقطه راه مبدأ

destination

object ( Waypoint )

مورد نیاز. ایستگاه بین راهی مقصد

intermediates[]

object ( Waypoint )

اختیاری. مجموعه ای از ایستگاه های بین راهی در طول مسیر (به استثنای نقاط پایانه)، برای توقف یا عبور. حداکثر 25 ایستگاه بین راهی پشتیبانی می شود.

travel Mode

enum ( RouteTravelMode )

اختیاری. نحوه حمل و نقل را مشخص می کند.

routing Preference

enum ( RoutingPreference )

اختیاری. نحوه محاسبه مسیر را مشخص می کند. سرور سعی می کند از اولویت مسیریابی انتخاب شده برای محاسبه مسیر استفاده کند. اگر اولویت مسیریابی منجر به خطا یا تاخیر طولانی مدت شود، یک خطا برگردانده می شود. شما می توانید این گزینه را فقط زمانی مشخص کنید که travelMode DRIVE یا TWO_WHEELER باشد، در غیر این صورت درخواست با شکست مواجه می شود.

polyline Quality

enum ( PolylineQuality )

اختیاری. ترجیح شما را برای کیفیت پلی لاین مشخص می کند.

polyline Encoding

enum ( PolylineEncoding )

اختیاری. رمزگذاری ترجیحی برای چند خط را مشخص می کند.

departure Time

string ( Timestamp format)

اختیاری. زمان حرکت اگر این مقدار را تنظیم نکنید، این مقدار به طور پیش‌فرض روی زمانی است که درخواست را انجام داده‌اید. توجه: زمانی که RouteTravelMode روی TRANSIT تنظیم شده باشد، می‌توانید departureTime در گذشته مشخص کنید. سفرهای ترانزیت تا 7 روز در گذشته یا 100 روز در آینده در دسترس هستند.

مهر زمانی در قالب RFC3339 UTC "Zulu"، با وضوح نانوثانیه و حداکثر نه رقم کسری. مثال‌ها: "2014-10-02T15:01:23Z" و "2014-10-02T15:01:23.045123456Z" .

arrival Time

string ( Timestamp format)

اختیاری. زمان رسیدن. توجه: فقط زمانی می توان تنظیم کرد که RouteTravelMode روی TRANSIT تنظیم شده باشد. شما می توانید departureTime یا arrivalTime را مشخص کنید، اما نه هر دو را. سفرهای ترانزیت تا 7 روز در گذشته یا 100 روز در آینده در دسترس هستند.

مهر زمانی در قالب RFC3339 UTC "Zulu"، با وضوح نانوثانیه و حداکثر نه رقم کسری. مثال‌ها: "2014-10-02T15:01:23Z" و "2014-10-02T15:01:23.045123456Z" .

compute Alternative Routes

boolean

اختیاری. تعیین می کند که آیا مسیرهای جایگزین علاوه بر مسیر محاسبه شود یا خیر. هیچ مسیر جایگزینی برای درخواست هایی که دارای ایستگاه های بین راهی هستند بازگردانده نمی شود.

route Modifiers

object ( RouteModifiers )

اختیاری. مجموعه ای از شرایط برای برآورده شدن که بر نحوه محاسبه مسیرها تأثیر می گذارد.

language Code

string

اختیاری. کد زبان BCP-47، مانند "en-US" یا "sr-Latn". برای اطلاعات بیشتر، به شناسه محلی یونیکد مراجعه کنید. برای لیست زبان های پشتیبانی شده به پشتیبانی زبان مراجعه کنید. وقتی این مقدار را ارائه نمی کنید، زبان نمایش از محل درخواست مسیر استنباط می شود.

region Code

string

اختیاری. کد منطقه که به عنوان یک مقدار دو نویسه ccTLD ("دامنه سطح بالا") مشخص شده است. برای اطلاعات بیشتر به دامنه های سطح بالای کد کشور مراجعه کنید.

units

enum ( Units )

اختیاری. واحدهای اندازه گیری فیلدهای نمایش را مشخص می کند. این فیلدها شامل فیلد instruction در NavigationInstruction است. واحدهای اندازه گیری مورد استفاده برای مسیر، پا، فاصله گام، و مدت زمان تحت تأثیر این مقدار قرار نمی گیرند. اگر این مقدار را ارائه نکنید، واحدهای نمایش از محل مبدا اول استنتاج می شوند.

optimize Waypoint Order

boolean

اختیاری. اگر روی true تنظیم شود، سرویس تلاش می کند تا هزینه کلی مسیر را با مرتب کردن مجدد ایستگاه های بین راهی مشخص شده به حداقل برساند. در صورتی که هر یک از ایستگاه های بین راهی یک ایستگاه via راهی باشد، درخواست با شکست مواجه می شود. از ComputeRoutesResponse.Routes.optimized_intermediate_waypoint_index برای پیدا کردن سفارش جدید استفاده کنید. اگر ComputeRoutesResponseroutes.optimized_intermediate_waypoint_index در هدر X-Goog-FieldMask درخواست نشود، درخواست با شکست مواجه می شود. اگر optimizeWaypointOrder روی false تنظیم شود، ComputeRoutesResponse.optimized_intermediate_waypoint_index خالی خواهد بود.

requested Reference Routes[]

enum ( ReferenceRoute )

اختیاری. مشخص می کند چه مسیرهای مرجعی علاوه بر مسیر پیش فرض به عنوان بخشی از درخواست محاسبه شود. مسیر مرجع مسیری با هدف محاسبه مسیر متفاوت از مسیر پیش‌فرض است. برای مثال یک محاسبه مسیر مرجع FUEL_EFFICIENT پارامترهای مختلفی را در نظر می گیرد که یک مسیر کارآمد سوخت بهینه ایجاد می کند. هنگام استفاده از این ویژگی، به دنبال routeLabels در مسیرهای حاصل بگردید.

extra Computations[]

enum ( ExtraComputation )

اختیاری. فهرستی از محاسبات اضافی که ممکن است برای تکمیل درخواست استفاده شود. توجه: این محاسبات اضافی ممکن است فیلدهای اضافی را در پاسخ بازگرداند. این فیلدهای اضافی نیز باید در فیلد ماسک برای بازگشت در پاسخ مشخص شوند.

traffic Model

enum ( TrafficModel )

اختیاری. مفروضاتی را برای محاسبه زمان در ترافیک مشخص می کند. این تنظیم بر مقدار بازگشتی در قسمت مدت زمان در Route و RouteLeg تأثیر می‌گذارد که شامل زمان پیش‌بینی‌شده در ترافیک بر اساس میانگین‌های تاریخی است. TrafficModel فقط برای درخواست‌هایی در دسترس است که RoutingPreference روی TRAFFIC_AWARE_OPTIMAL و RouteTravelMode را روی DRIVE تنظیم کرده‌اند. اگر ترافیک درخواست شده باشد و TrafficModel مشخص نشده باشد به BEST_GUESS پیش‌فرض می‌شود.

transit Preferences

object ( TransitPreferences )

اختیاری. تنظیمات برگزیده را مشخص می کند که بر مسیر برگشتی برای مسیرهای TRANSIT تأثیر می گذارد. توجه: زمانی که RouteTravelMode روی TRANSIT تنظیم شده باشد، می توانید یک transitPreferences مشخص کنید.

بدن پاسخگو

v2.compute پیام پاسخ را مسیریابی می کند.

در صورت موفقیت آمیز بودن، بدنه پاسخ حاوی داده هایی با ساختار زیر است:

نمایندگی JSON
{
  "routes": [
    {
      object (Route)
    }
  ],
  "fallbackInfo": {
    object (FallbackInfo)
  },
  "geocodingResults": {
    object (GeocodingResults)
  }
}
فیلدها
routes[]

object ( Route )

حاوی آرایه‌ای از مسیرهای محاسبه‌شده (حداکثر سه) زمانی که شما compute_alternatives_routes مشخص می‌کنید، و فقط شامل یک مسیر است، در صورتی که این کار را نکنید. هنگامی که این آرایه حاوی چندین ورودی باشد، اولین مسیر توصیه شده است. اگر آرایه خالی باشد، به این معنی است که هیچ مسیری پیدا نشد.

fallback Info

object ( FallbackInfo )

در برخی موارد، زمانی که سرور قادر به محاسبه نتایج مسیر با تمام تنظیمات برگزیده ورودی نیست، ممکن است از روش دیگری برای محاسبه استفاده کند. هنگامی که از حالت بازگشتی استفاده می شود، این فیلد حاوی اطلاعات دقیق در مورد پاسخ بازگشتی است. در غیر این صورت این فیلد تنظیم نشده است.

geocoding Results

object ( GeocodingResults )

حاوی اطلاعات پاسخ کدگذاری جغرافیایی برای نقاط راه مشخص شده به عنوان آدرس است.

کیفیت پلی لاین

مجموعه ای از مقادیر که کیفیت چند خط را مشخص می کند.

Enums
POLYLINE_QUALITY_UNSPECIFIED هیچ اولویت کیفیت چند خطی مشخص نشده است. به طور پیش‌فرض به OVERVIEW .
HIGH_QUALITY یک خط چند خطی با کیفیت بالا را مشخص می کند - که با استفاده از نقاط بیشتری نسبت به OVERVIEW ساخته شده است، به قیمت افزایش اندازه پاسخ. زمانی که به دقت بیشتری نیاز دارید از این مقدار استفاده کنید.
OVERVIEW یک چند خط نمای کلی را مشخص می کند - که با استفاده از تعداد کمی از نقاط تشکیل شده است. هنگام نمایش یک نمای کلی از مسیر از این مقدار استفاده کنید. استفاده از این گزینه در مقایسه با استفاده از گزینه HIGH_QUALITY تاخیر درخواست کمتری دارد.

PolylineEncoding

نوع ترجیحی چند خطی که باید برگردانده شود را مشخص می کند.

Enums
POLYLINE_ENCODING_UNSPECIFIED هیچ نوع اولویت چند خطی مشخص نشده است. پیش‌فرض ENCODED_POLYLINE است.
ENCODED_POLYLINE چند خطی را مشخص می کند که با استفاده از الگوریتم کدگذاری چند خطی کدگذاری شده است.
GEO_JSON_LINESTRING با استفاده از قالب GeoJSON LineString یک چند خط را مشخص می کند

ReferenceRoute

یک مسیر مرجع پشتیبانی شده در ComputeRoutesRequest.

Enums
REFERENCE_ROUTE_UNSPECIFIED استفاده نشده است. درخواست های حاوی این مقدار با شکست مواجه می شوند.
FUEL_EFFICIENT مسیر مصرف سوخت
SHORTER_DISTANCE

مسیری با مسافت سفر کمتر. این یک ویژگی آزمایشی است.

برای درخواست‌های DRIVE ، این ویژگی مسافت کوتاه‌تر را به راحتی رانندگی اولویت می‌دهد. برای مثال، ممکن است جاده‌های محلی را به جای بزرگراه‌ها ترجیح دهد، از جاده‌های خاکی استفاده کند، پارکینگ‌ها را قطع کند، و غیره.

برای درخواست‌های BICYCLE و TWO_WHEELER ، این ویژگی مسیرهایی مشابه مسیرهایی را برمی‌گرداند که زمانی که requestedReferenceRoutes مشخص نکنید، بازمی‌گردد.

این ویژگی با هیچ حالت سفر دیگری، از طریق ایستگاه های بین راهی، یا optimizeWaypointOrder سازگار نیست. چنین درخواست هایی با شکست مواجه خواهند شد. با این حال، می توانید از آن با هر routingPreference استفاده کنید.

محاسبات اضافی

محاسبات اضافی برای انجام در هنگام تکمیل درخواست.

Enums
EXTRA_COMPUTATION_UNSPECIFIED استفاده نشده است. درخواست های حاوی این مقدار با شکست مواجه خواهند شد.
TOLLS اطلاعات عوارض برای مسیر(های)
FUEL_CONSUMPTION مصرف سوخت تخمینی برای مسیر(های)
TRAFFIC_ON_POLYLINE چند خط آگاه از ترافیک برای مسیر(های)
HTML_FORMATTED_NAVIGATION_INSTRUCTIONS NavigationInstructions به عنوان یک رشته متن فرمت شده HTML ارائه شده است. این محتوا باید همانطور که هست خوانده شود. این محتوا فقط برای نمایش است. به صورت برنامه نویسی آن را تجزیه نکنید.

مسیر

شامل یک مسیر است که شامل یک سری از بخش های جاده متصل است که به ایستگاه های ابتدایی، انتهایی و میانی می پیوندند.

نمایندگی JSON
{
  "routeLabels": [
    enum (RouteLabel)
  ],
  "legs": [
    {
      object (RouteLeg)
    }
  ],
  "distanceMeters": integer,
  "duration": string,
  "staticDuration": string,
  "polyline": {
    object (Polyline)
  },
  "description": string,
  "warnings": [
    string
  ],
  "viewport": {
    object (Viewport)
  },
  "travelAdvisory": {
    object (RouteTravelAdvisory)
  },
  "optimizedIntermediateWaypointIndex": [
    integer
  ],
  "localizedValues": {
    object (RouteLocalizedValues)
  },
  "routeToken": string
}
فیلدها
route Labels[]

enum ( RouteLabel )

برچسب‌هایی برای Route که برای شناسایی ویژگی‌های خاص مسیر برای مقایسه با دیگران مفید هستند.

legs[]

object ( RouteLeg )

مجموعه ای از پاها (بخش های مسیر بین ایستگاه های بین راه) که مسیر را تشکیل می دهند. هر پا مربوط به سفر بین دو Waypoints غیر via است. به عنوان مثال، مسیری که هیچ ایستگاه بین راهی ندارد، تنها یک پا دارد. مسیری که شامل یک ایستگاه بین راهی غیر via ، دو پا دارد. مسیری که شامل یک مسیر via ایستگاه بین راهی است، یک پا دارد. ترتیب پاها با ترتیب ایستگاه های بین راه از origin تا intermediates تا destination مطابقت دارد.

distance Meters

integer

مسافت طی مسیر، بر حسب متر.

duration

string ( Duration format)

مدت زمان لازم برای پیمایش مسیر. اگر routingPreference را روی TRAFFIC_UNAWARE تنظیم کنید، این مقدار همان staticDuration است. اگر routingPreference را روی TRAFFIC_AWARE یا TRAFFIC_AWARE_OPTIMAL تنظیم کنید، این مقدار با در نظر گرفتن شرایط ترافیک محاسبه می شود.

مدت زمان در ثانیه با حداکثر نه رقم کسری که با ' s ' ختم می شود. مثال: "3.5s" .

static Duration

string ( Duration format)

مدت زمان سفر در مسیر بدون در نظر گرفتن شرایط ترافیکی.

مدت زمان در ثانیه با حداکثر نه رقم کسری که با ' s ' ختم می شود. مثال: "3.5s" .

polyline

object ( Polyline )

چند خط کلی مسیر. این چند خط، چند خط ترکیبی همه legs است.

description

string

شرح مسیر.

warnings[]

string

مجموعه ای از هشدارها برای نشان دادن هنگام نمایش مسیر.

viewport

object ( Viewport )

کادر محدودکننده نما در چند خط.

travel Advisory

object ( RouteTravelAdvisory )

اطلاعات تکمیلی در مورد مسیر.

optimized Intermediate Waypoint Index[]

integer

اگر optimizeWaypointOrder روی true تنظیم کنید، این فیلد شامل ترتیب بهینه شده نقاط بین راهی است. در غیر این صورت این قسمت خالی است. برای مثال، اگر ورودی Origin را بدهید: LA; ایستگاه های بین راهی: دالاس، بانگور، فینیکس؛ مقصد: نیویورک؛ و ترتیب میانی بهینه شده Phoenix، Dallas، Bangor است، سپس این فیلد حاوی مقادیر [2، 0، 1] است. شاخص با 0 برای اولین نقطه میانی ارائه شده در ورودی شروع می شود.

localized Values

object ( RouteLocalizedValues )

نمایش متنی ویژگی های Route .

route Token

string

یک نشانه مات که می تواند به Navigation SDK منتقل شود تا مسیر را در حین ناوبری بازسازی کند و در صورت تغییر مسیر، به هدف اصلی هنگام ایجاد مسیر احترام بگذارد. با این نشانه به عنوان یک لکه مات رفتار کنید. مقدار آن را در بین درخواست‌ها مقایسه نکنید زیرا ممکن است ارزش آن تغییر کند حتی اگر سرویس دقیقاً همان مسیر را برگرداند.

توجه: Route.route_token فقط برای درخواست‌هایی در دسترس است که ComputeRoutesRequest.routing_preference روی TRAFFIC_AWARE یا TRAFFIC_AWARE_OPTIMAL تنظیم کرده‌اند. Route.route_token برای درخواست هایی که دارای ایستگاه های بین راه هستند پشتیبانی نمی شود.

RouteLabel

برچسب‌هایی برای Route که برای شناسایی ویژگی‌های خاص مسیر برای مقایسه با دیگران مفید هستند.

Enums
ROUTE_LABEL_UNSPECIFIED پیش فرض - استفاده نشده است.
DEFAULT_ROUTE مسیر پیش‌فرض "بهترین" برای محاسبه مسیر برگردانده شد.
DEFAULT_ROUTE_ALTERNATE جایگزینی برای مسیر پیش‌فرض "بهترین" زمانی که computeAlternativeRoutes مشخص شده باشد، مسیرهایی مانند این برگردانده می شوند.
FUEL_EFFICIENT مسیر مصرف سوخت مسیرهایی که با این مقدار برچسب گذاری شده اند برای پارامترهای Eco مانند مصرف سوخت بهینه شده اند.
SHORTER_DISTANCE مسافت سفر کوتاه تر. این یک ویژگی آزمایشی است.

RouteLeg

شامل یک بخش بین ایستگاه های غیر via .

نمایندگی JSON
{
  "distanceMeters": integer,
  "duration": string,
  "staticDuration": string,
  "polyline": {
    object (Polyline)
  },
  "startLocation": {
    object (Location)
  },
  "endLocation": {
    object (Location)
  },
  "steps": [
    {
      object (RouteLegStep)
    }
  ],
  "travelAdvisory": {
    object (RouteLegTravelAdvisory)
  },
  "localizedValues": {
    object (RouteLegLocalizedValues)
  },
  "stepsOverview": {
    object (StepsOverview)
  }
}
فیلدها
distance Meters

integer

مسافت طی مسیر، بر حسب متر.

duration

string ( Duration format)

مدت زمان لازم برای حرکت در پا. اگر route_preference روی TRAFFIC_UNAWARE تنظیم شود، این مقدار همان staticDuration است. اگر route_preference یا TRAFFIC_AWARE یا TRAFFIC_AWARE_OPTIMAL باشد، این مقدار با در نظر گرفتن شرایط ترافیک محاسبه می شود.

مدت زمان در ثانیه با حداکثر نه رقم کسری که با ' s ' ختم می شود. مثال: "3.5s" .

static Duration

string ( Duration format)

مدت زمان سفر از طریق پا، بدون در نظر گرفتن شرایط ترافیک محاسبه شده است.

مدت زمان در ثانیه با حداکثر نه رقم کسری که با ' s ' ختم می شود. مثال: "3.5s" .

polyline

object ( Polyline )

چند خط کلی برای این پا که شامل چند خط هر step است.

start Location

object ( Location )

محل شروع این پا. این مکان ممکن است با origin ارائه شده متفاوت باشد. به عنوان مثال، زمانی که origin ارائه شده نزدیک جاده نباشد، این نقطه ای از جاده است.

end Location

object ( Location )

محل انتهایی این پا. این مکان ممکن است با destination ارائه شده متفاوت باشد. به عنوان مثال، زمانی که destination ارائه شده نزدیک جاده ای نباشد، این نقطه ای در جاده است.

steps[]

object ( RouteLegStep )

مجموعه‌ای از مراحل که بخش‌های درون این پا را نشان می‌دهد. هر مرحله نشان دهنده یک دستورالعمل ناوبری است.

travel Advisory

object ( RouteLegTravelAdvisory )

حاوی اطلاعات اضافی است که کاربر باید از آنها مطلع شود، مانند محدودیت های احتمالی منطقه ترافیک، در یک مسیر.

localized Values

object ( RouteLegLocalizedValues )

نمایش متنی ویژگی های RouteLeg .

steps Overview

object ( StepsOverview )

اطلاعات کلی در مورد مراحل این RouteLeg . این قسمت فقط برای مسیرهای TRANSIT پر شده است.

پلی لاین

یک چند خط کدگذاری شده را در بر می گیرد.

نمایندگی JSON
{

  // Union field polyline_type can be only one of the following:
  "encodedPolyline": string,
  "geoJsonLinestring": {
    object
  }
  // End of list of possible types for union field polyline_type.
}
فیلدها
فیلد اتحادیه polyline_type . نوع پلی لاین را کپسوله می کند. پیش‌فرض encoded_polyline است. polyline_type می تواند تنها یکی از موارد زیر باشد:
encoded Polyline

string

رمزگذاری رشته چند خط با استفاده از الگوریتم کدگذاری چند خطی

geo Json Linestring

object ( Struct format)

با استفاده از قالب GeoJSON LineString یک چند خط را مشخص می کند.

RouteLegStep

شامل بخشی از RouteLeg است. یک مرحله مربوط به یک دستورالعمل ناوبری است. پایه های مسیر از پله ها تشکیل شده است.

نمایندگی JSON
{
  "distanceMeters": integer,
  "staticDuration": string,
  "polyline": {
    object (Polyline)
  },
  "startLocation": {
    object (Location)
  },
  "endLocation": {
    object (Location)
  },
  "navigationInstruction": {
    object (NavigationInstruction)
  },
  "travelAdvisory": {
    object (RouteLegStepTravelAdvisory)
  },
  "localizedValues": {
    object (RouteLegStepLocalizedValues)
  },
  "transitDetails": {
    object (RouteLegStepTransitDetails)
  },
  "travelMode": enum (RouteTravelMode)
}
فیلدها
distance Meters

integer

مسافت طی این مرحله، بر حسب متر است. در برخی شرایط، این فیلد ممکن است ارزشی نداشته باشد.

static Duration

string ( Duration format)

مدت زمان سفر در این مرحله بدون در نظر گرفتن شرایط ترافیکی. در برخی شرایط، این فیلد ممکن است ارزشی نداشته باشد.

مدت زمان در ثانیه با حداکثر نه رقم کسری که با ' s ' ختم می شود. مثال: "3.5s" .

polyline

object ( Polyline )

چند خط مرتبط با این مرحله.

start Location

object ( Location )

محل شروع این مرحله.

end Location

object ( Location )

محل پایان این مرحله.

navigation Instruction

object ( NavigationInstruction )

دستورالعمل های ناوبری.

travel Advisory

object ( RouteLegStepTravelAdvisory )

حاوی اطلاعات اضافی است که کاربر باید از آنها مطلع شود، مانند محدودیت های احتمالی منطقه ترافیک، در یک گام.

localized Values

object ( RouteLegStepLocalizedValues )

نمایش متنی خصوصیات RouteLegStep .

transit Details

object ( RouteLegStepTransitDetails )

جزئیات مربوط به این مرحله اگر حالت سفر TRANSIT باشد.

travel Mode

enum ( RouteTravelMode )

حالت سفر استفاده شده برای این مرحله.

مانور

مجموعه‌ای از مقادیر که عمل ناوبری را برای مرحله فعلی مشخص می‌کند (مثلاً گردش به چپ، ادغام یا مستقیم).

Enums
MANEUVER_UNSPECIFIED استفاده نشده است.
TURN_SLIGHT_LEFT کمی به سمت چپ بپیچید.
TURN_SHARP_LEFT به شدت به سمت چپ بپیچید.
UTURN_LEFT یک چرخش به چپ انجام دهید.
TURN_LEFT به چپ بپیچید.
TURN_SLIGHT_RIGHT کمی به سمت راست بپیچید.
TURN_SHARP_RIGHT به شدت به سمت راست بپیچید.
UTURN_RIGHT یک دور به راست بپیچید.
TURN_RIGHT به راست بپیچید.
STRAIGHT مستقیم برو
RAMP_LEFT از سطح شیب دار سمت چپ بروید.
RAMP_RIGHT از رمپ سمت راست بروید.
MERGE ادغام در ترافیک
FORK_LEFT چنگال چپ را بردارید.
FORK_RIGHT چنگال مناسب را بردارید.
FERRY سوار کشتی شوید.
FERRY_TRAIN سوار قطار منتهی به کشتی شوید.
ROUNDABOUT_LEFT در دوربرگردان به چپ بپیچید.
ROUNDABOUT_RIGHT در دوربرگردان به راست بپیچید.
DEPART مانور اولیه
NAME_CHANGE برای نشان دادن تغییر نام خیابان استفاده می شود.

RouteLegStepTravelAdvisory

حاوی اطلاعات اضافی است که کاربر باید از آنها مطلع شود، مانند محدودیت های احتمالی منطقه ترافیکی در یک گام پا.

نمایندگی JSON
{
  "speedReadingIntervals": [
    {
      object (SpeedReadingInterval)
    }
  ]
}
فیلدها
speed Reading Intervals[]

object ( SpeedReadingInterval )

توجه: این فیلد در حال حاضر پر نشده است.

RouteLegStepLocalizedValues

نمایش متنی از ویژگی های خاص.

نمایندگی JSON
{
  "distance": {
    object (LocalizedText)
  },
  "staticDuration": {
    object (LocalizedText)
  }
}
فیلدها
distance

object ( LocalizedText )

مسافت سفر به صورت متنی نشان داده شده است.

static Duration

object ( LocalizedText )

مدت زمان بدون در نظر گرفتن شرایط ترافیک، به صورت متن نشان داده شده است.

RouteLegStepTransitDetails

اطلاعات اضافی برای RouteLegStep مربوط به مسیرهای TRANSIT .

نمایندگی JSON
{
  "stopDetails": {
    object (TransitStopDetails)
  },
  "localizedValues": {
    object (TransitDetailsLocalizedValues)
  },
  "headsign": string,
  "headway": string,
  "transitLine": {
    object (TransitLine)
  },
  "stopCount": integer,
  "tripShortText": string
}
فیلدها
stop Details

object ( TransitStopDetails )

اطلاعات در مورد ورود و خروج توقف برای مرحله.

localized Values

object ( TransitDetailsLocalizedValues )

نمایش متنی خصوصیات RouteLegStepTransitDetails .

headsign

string

جهت حرکت در این خط را همانطور که روی وسیله نقلیه یا در ایستگاه خروج مشخص شده است مشخص می کند. جهت اغلب ایستگاه پایانه است.

headway

string ( Duration format)

زمان مورد انتظار را به عنوان مدت زمان بین خروج از همان توقف در این زمان مشخص می کند. به عنوان مثال، با مقدار 600 ثانیه پیشروی، اگر اتوبوس خود را از دست بدهید، انتظار دارید ده دقیقه صبر کنید.

مدت زمان در ثانیه با حداکثر نه رقم کسری که با ' s ' ختم می شود. مثال: "3.5s" .

transit Line

object ( TransitLine )

اطلاعات مربوط به خط ترانزیت مورد استفاده در این مرحله.

stop Count

integer

تعداد توقف ها از مبدأ تا توقف ورود. این شمارش شامل توقف ورود است، اما توقف خروج را شامل نمی شود. به عنوان مثال، اگر مسیر شما از ایستگاه A حرکت کند، از ایستگاه های B و C عبور کند و به ایستگاه D برسد،

stopCount

برمی گرداند 3.

trip Short Text

string

متنی که در جدول ها و تابلوهای علامت برای شناسایی یک سفر ترانزیت به مسافران ظاهر می شود. متن باید به طور منحصر به فرد یک سفر در یک روز خدمات را مشخص کند. به عنوان مثال، "538" tripShortText قطار Amtrak است که سن خوزه، کالیفرنیا را در ساعت 15:10 روزهای هفته به سمت ساکرامنتو، کالیفرنیا ترک می کند.

TransitStopDetails

جزئیات در مورد توقف های حمل و نقل برای RouteLegStep .

نمایندگی JSON
{
  "arrivalStop": {
    object (TransitStop)
  },
  "arrivalTime": string,
  "departureStop": {
    object (TransitStop)
  },
  "departureTime": string
}
فیلدها
arrival Stop

object ( TransitStop )

اطلاعات در مورد توقف رسیدن برای مرحله.

arrival Time

string ( Timestamp format)

زمان تخمینی رسیدن به مرحله.

مهر زمانی در قالب RFC3339 UTC "Zulu"، با وضوح نانوثانیه و حداکثر نه رقم کسری. مثال‌ها: "2014-10-02T15:01:23Z" و "2014-10-02T15:01:23.045123456Z" .

departure Stop

object ( TransitStop )

اطلاعات در مورد توقف حرکت برای پله.

departure Time

string ( Timestamp format)

زمان تخمینی حرکت برای مرحله.

یک مهر زمانی در قالب RFC3339 UTC "Zulu"، با وضوح نانوثانیه و حداکثر نه رقم کسری. مثال‌ها: "2014-10-02T15:01:23Z" و "2014-10-02T15:01:23.045123456Z" .

TransitStop

اطلاعات در مورد ایستگاه حمل و نقل

نمایندگی JSON
{
  "name": string,
  "location": {
    object (Location)
  }
}
فیلدها
name

string

نام ایستگاه حمل و نقل.

location

object ( Location )

محل توقف با مختصات طول و عرض جغرافیایی بیان می شود.

TransitDetailsLocalizedValues

توضیحات محلی مقادیر برای RouteTransitDetails .

نمایندگی JSON
{
  "arrivalTime": {
    object (LocalizedTime)
  },
  "departureTime": {
    object (LocalizedTime)
  }
}
فیلدها
arrival Time

object ( LocalizedTime )

زمان در نمایش متن قالب بندی شده با منطقه زمانی مربوطه.

departure Time

object ( LocalizedTime )

زمان در نمایش متن قالب بندی شده با منطقه زمانی مربوطه.

LocalizedTime

توصیف موضعی زمان

نمایندگی JSON
{
  "time": {
    object (LocalizedText)
  },
  "timeZone": string
}
فیلدها
time

object ( LocalizedText )

زمان مشخص شده به عنوان یک رشته در یک منطقه زمانی معین.

time Zone

string

شامل منطقه زمانی است. مقدار، نام منطقه زمانی است که در پایگاه داده منطقه زمانی IANA تعریف شده است، به عنوان مثال "America/New_York".

ترانزیت لاین

حاوی اطلاعاتی در مورد خط حمل و نقل مورد استفاده در این مرحله است.

نمایندگی JSON
{
  "agencies": [
    {
      object (TransitAgency)
    }
  ],
  "name": string,
  "uri": string,
  "color": string,
  "iconUri": string,
  "nameShort": string,
  "textColor": string,
  "vehicle": {
    object (TransitVehicle)
  }
}
فیلدها
agencies[]

object ( TransitAgency )

آژانس حمل و نقل (یا آژانس هایی) که این خط ترانزیت را اداره می کند.

name

string

نام کامل این خط ترانزیت، به عنوان مثال، "8 Avenue Local".

uri

string

URI این خط ترانزیت که توسط آژانس حمل و نقل ارائه شده است.

color

string

رنگی که معمولا در تابلوهای این خط استفاده می شود. در هگزادسیمال نشان داده شده است.

icon Uri

string

URI برای نماد مرتبط با این خط.

name Short

string

نام کوتاه این خط ترانزیت. این نام معمولاً یک شماره خط است، مانند "M7" یا "355".

text Color

string

رنگی که معمولاً در متن روی تابلوهای این خط استفاده می شود. در هگزادسیمال نشان داده شده است.

vehicle

object ( TransitVehicle )

نوع وسیله نقلیه ای که در این خط ترانزیتی تردد می کند.

آژانس ترانزیت

آژانس ترانزیت که یک خط ترانزیت را اداره می کند.

نمایندگی JSON
{
  "name": string,
  "phoneNumber": string,
  "uri": string
}
فیلدها
name

string

نام این آژانس حمل و نقل.

phone Number

string

شماره تلفن قالب‌بندی شده آژانس حمل و نقل.

uri

string

URI آژانس حمل و نقل.

وسیله نقلیه ترانزیت

اطلاعات در مورد وسیله نقلیه مورد استفاده در مسیرهای حمل و نقل.

نمایندگی JSON
{
  "name": {
    object (LocalizedText)
  },
  "type": enum (TransitVehicleType),
  "iconUri": string,
  "localIconUri": string
}
فیلدها
name

object ( LocalizedText )

نام این وسیله نقلیه با حروف بزرگ نوشته شده است.

type

enum ( TransitVehicleType )

نوع وسیله نقلیه مورد استفاده.

icon Uri

string

URI برای نماد مرتبط با این نوع خودرو.

local Icon Uri

string

URI برای نماد مرتبط با این نوع وسیله نقلیه، بر اساس علائم حمل و نقل محلی.

Transit VehicleType

نوع وسایل نقلیه برای مسیرهای ترانزیتی.

Enums
TRANSIT_VEHICLE_TYPE_UNSPECIFIED استفاده نشده
BUS اتوبوس
CABLE_CAR وسیله نقلیه ای که روی کابل، معمولاً روی زمین کار می کند. تله کابین های هوایی ممکن است از نوع GONDOLA_LIFT باشند.
COMMUTER_TRAIN راه آهن شهری.
FERRY فری
FUNICULAR وسیله نقلیه ای که توسط کابل از شیب تند بالا کشیده می شود. یک فونیکولار معمولاً از دو اتومبیل تشکیل شده است که هر اتومبیل به عنوان وزنه تعادل برای دیگری عمل می کند.
GONDOLA_LIFT یک تله کابین هوایی.
HEAVY_RAIL ریل سنگین
HIGH_SPEED_TRAIN قطار پر سرعت.
INTERCITY_BUS اتوبوس بین شهری.
LONG_DISTANCE_TRAIN قطار راه دور.
METRO_RAIL حمل و نقل ریلی سبک.
MONORAIL مونوریل.
OTHER همه وسایل نقلیه دیگر
RAIL راه آهن.
SHARE_TAXI تاکسی اشتراکی نوعی اتوبوس با قابلیت جابجایی و جابجایی مسافران در هر نقطه از مسیر است.
SUBWAY راه آهن زیرزمینی.
TRAM ریل نوری روی زمین.
TROLLEYBUS واگن برقی.

RouteLegTravelAdvisory

حاوی اطلاعات اضافی است که کاربر باید در یک پله از آنها مطلع شود، مانند محدودیت های احتمالی منطقه ترافیک.

نمایندگی JSON
{
  "tollInfo": {
    object (TollInfo)
  },
  "speedReadingIntervals": [
    {
      object (SpeedReadingInterval)
    }
  ]
}
فیلدها
toll Info

object ( TollInfo )

حاوی اطلاعاتی درباره عوارض در RouteLeg خاص است. این فیلد فقط در صورتی پر می شود که انتظار داشته باشیم عوارضی در RouteLeg وجود داشته باشد. اگر این فیلد تنظیم شده باشد اما زیرفیلد برآورد شده قیمت پر نشده باشد، انتظار داریم که جاده شامل عوارض باشد اما قیمت تخمینی را نمی دانیم. اگر این فیلد وجود نداشته باشد، هیچ عوارضی در RouteLeg وجود ندارد.

speed Reading Intervals[]

object ( SpeedReadingInterval )

فواصل تندخوانی با جزئیات تراکم ترافیک. قابل اجرا در موارد ترجیحات مسیریابی TRAFFIC_AWARE و TRAFFIC_AWARE_OPTIMAL . فواصل، کل چند خط RouteLeg را بدون همپوشانی پوشش می دهند. نقطه شروع یک بازه مشخص با نقطه پایان بازه قبلی یکسان است.

مثال:

polyline: A ---- B ---- C ---- D ---- E ---- F ---- G
speedReadingIntervals: [A,C), [C,D), [D,G).

RouteLegLocalizedValues

نمایش متنی از ویژگی های خاص.

نمایندگی JSON
{
  "distance": {
    object (LocalizedText)
  },
  "duration": {
    object (LocalizedText)
  },
  "staticDuration": {
    object (LocalizedText)
  }
}
فیلدها
distance

object ( LocalizedText )

مسافت سفر به صورت متنی نشان داده شده است.

duration

object ( LocalizedText )

مدت زمان، به صورت متن نمایش داده شده و به منطقه پرس و جو بومی سازی شده است. شرایط ترافیکی را در نظر می گیرد. توجه: اگر اطلاعات ترافیک را درخواست نکرده اید، این مقدار همان مقدار staticDuration است.

static Duration

object ( LocalizedText )

مدت زمان بدون در نظر گرفتن شرایط ترافیک، به صورت متن نشان داده شده است.

StepsOverview

اطلاعات کلی درباره لیستی از RouteLegStep را ارائه می دهد.

نمایندگی JSON
{
  "multiModalSegments": [
    {
      object (MultiModalSegment)
    }
  ]
}
فیلدها
multi Modal Segments[]

object ( MultiModalSegment )

اطلاعات خلاصه شده در مورد بخش های مختلف چند وجهی RouteLeg.steps . اگر RouteLeg شامل بخش‌های چند وجهی در مراحل نباشد، این فیلد پر نمی‌شود.

MultiModalSegment

اطلاعات خلاصه ای را در مورد بخش های مختلف چند وجهی RouteLeg.steps ارائه می دهد. یک بخش چند وجهی به عنوان یک یا چند RouteLegStep به هم پیوسته تعریف می‌شود که RouteTravelMode یکسان دارند. اگر RouteLeg شامل بخش‌های چند وجهی در مراحل نباشد، این فیلد پر نمی‌شود.

نمایندگی JSON
{
  "navigationInstruction": {
    object (NavigationInstruction)
  },
  "travelMode": enum (RouteTravelMode),
  "stepStartIndex": integer,
  "stepEndIndex": integer
}
فیلدها
navigation Instruction

object ( NavigationInstruction )

راهنمای ناوبری برای بخش چند وجهی.

travel Mode

enum ( RouteTravelMode )

حالت سفر بخش چند وجهی.

step Start Index

integer

شاخص RouteLegStep مربوطه که شروع یک بخش چند وجهی است.

step End Index

integer

شاخص RouteLegStep مربوطه که انتهای یک بخش چند وجهی است.

درگاه دید

یک نمای طول و عرض جغرافیایی که به صورت دو نقطه low و high به صورت مورب در مقابل هم نمایش داده می شود. یک viewport یک منطقه بسته در نظر گرفته می شود، یعنی شامل مرز آن می شود. محدوده عرض جغرافیایی باید بین 90- تا 90 درجه باشد و محدوده طول جغرافیایی باید بین 180- تا 180 درجه باشد. موارد مختلف عبارتند از:

  • اگر low = high ، نمای از همان نقطه واحد تشکیل شده است.

  • اگر low.longitude > high.longitude , محدوده طول معکوس می شود (نمایش از خط طول جغرافیایی 180 درجه عبور می کند).

  • اگر low.longitude = -180 درجه و high.longitude = 180 درجه باشد، درگاه دید شامل تمام طول‌های جغرافیایی می‌شود.

  • اگر low.longitude = 180 درجه و high.longitude = -180 درجه باشد، محدوده طول جغرافیایی خالی است.

  • اگر low.latitude > high.latitude ، محدوده عرض جغرافیایی خالی است.

هر دو low و high باید پر شوند و کادر نمایش داده شده نمی تواند خالی باشد (همانطور که در تعاریف بالا مشخص شده است). یک نمای خالی منجر به خطا می شود.

به عنوان مثال، این نما به طور کامل شهر نیویورک را در بر می گیرد:

{ "low": { "Latitude": 40.477398, "Litude": -74.259087 }, "high": { "Latitude": 40.91618, "Latitude": -73.70018 } }

نمایندگی JSON
{
  "low": {
    object (LatLng)
  },
  "high": {
    object (LatLng)
  }
}
فیلدها
low

object ( LatLng )

مورد نیاز. نقطه پایین دید.

high

object ( LatLng )

مورد نیاز. نقطه اوج دید.

RouteLocalizedValues

نمایش متنی از ویژگی های خاص.

نمایندگی JSON
{
  "distance": {
    object (LocalizedText)
  },
  "duration": {
    object (LocalizedText)
  },
  "staticDuration": {
    object (LocalizedText)
  },
  "transitFare": {
    object (LocalizedText)
  }
}
فیلدها
distance

object ( LocalizedText )

مسافت سفر به صورت متنی نشان داده شده است.

duration

object ( LocalizedText )

مدت زمان، به صورت متن نمایش داده شده و به منطقه پرس و جو بومی سازی شده است. شرایط ترافیکی را در نظر می گیرد. توجه: اگر اطلاعات ترافیک را درخواست نکرده‌اید، این مقدار همان مقدار staticDuration است.

static Duration

object ( LocalizedText )

مدت زمان بدون در نظر گرفتن شرایط ترافیک، به صورت متن نشان داده شده است.

transit Fare

object ( LocalizedText )

کرایه حمل و نقل به صورت متنی نشان داده شده است.

نتایج جغرافیایی

شامل GeocodedWaypoints برای مبدا، مقصد و ایستگاه های بین راهی. فقط برای نقاط راه آدرس پر شده است.

نمایندگی JSON
{
  "origin": {
    object (GeocodedWaypoint)
  },
  "destination": {
    object (GeocodedWaypoint)
  },
  "intermediates": [
    {
      object (GeocodedWaypoint)
    }
  ]
}
فیلدها
origin

object ( GeocodedWaypoint )

نقطه بین مسیرهای جغرافیایی کد شده مبدا.

destination

object ( GeocodedWaypoint )

نقطه گذر جغرافیایی مقصد.

intermediates[]

object ( GeocodedWaypoint )

فهرستی از نقاط بین راهی با کدهای جغرافیایی میانی که هر کدام حاوی یک فیلد شاخص است که به ترتیبی که در درخواست مشخص شده است، با موقعیت صفر نقطه راه مطابقت دارد.

GeocedWaypoint

جزئیات در مورد مکان های استفاده شده به عنوان ایستگاه های بین راه. فقط برای نقاط راه آدرس پر شده است. شامل جزئیاتی در مورد نتایج کدگذاری جغرافیایی به منظور تعیین اینکه آدرس به چه مکانی کدگذاری شده است.

نمایندگی JSON
{
  "geocoderStatus": {
    object (Status)
  },
  "type": [
    string
  ],
  "partialMatch": boolean,
  "placeId": string,
  "intermediateWaypointRequestIndex": integer
}
فیلدها
geocoder Status

object ( Status )

کد وضعیت حاصل از عملیات کدگذاری جغرافیایی را نشان می دهد.

type[]

string

نوع (های) نتیجه، به صورت تگ های صفر یا بیشتر. انواع پشتیبانی شده: انواع آدرس و انواع اجزای آدرس .

partial Match

boolean

نشان می دهد که geocoder مطابقت دقیقی با درخواست اصلی برنگردانده است، اگرچه می تواند بخشی از آدرس درخواستی را مطابقت دهد. ممکن است بخواهید درخواست اصلی برای غلط املایی و/یا آدرس ناقص را بررسی کنید.

place Id

string

شناسه مکان برای این نتیجه.

intermediate Waypoint Request Index

integer

شاخص نقطه میانی مربوطه در درخواست. فقط در صورتی پر می شود که نقطه بین راه مربوطه یک ایستگاه بین راهی باشد.