Method: computeRouteMatrix

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

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

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

  • ماسک فیلد تمام فیلدهای موجود (برای بازرسی دستی): X-Goog-FieldMask: *
  • ماسک میدانی از مدت‌زمان مسیر، مسافت‌ها، وضعیت عنصر، وضعیت و شاخص‌های عنصر (نمونه‌ای از راه‌اندازی تولید): X-Goog-FieldMask: originIndex,destinationIndex,status,condition,distanceMeters,duration

بسیار مهم است که status در ماسک فیلد خود وارد کنید زیرا در غیر این صورت همه پیام‌ها درست به نظر می‌رسند. گوگل استفاده از ماسک فیلد پاسخ ( * ) را منع می کند، زیرا:

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

درخواست HTTP

POST https://routespreferred.googleapis.com/v1:computeRouteMatrix

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

درخواست بدن

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

نمایندگی JSON
{
  "origins": [
    {
      object (RouteMatrixOrigin)
    }
  ],
  "destinations": [
    {
      object (RouteMatrixDestination)
    }
  ],
  "travelMode": enum (RouteTravelMode),
  "routingPreference": enum (RoutingPreference),
  "departureTime": string
}
فیلدها
origins[]

object ( RouteMatrixOrigin )

مورد نیاز. آرایه مبدا، که ردیف های ماتریس پاسخ را تعیین می کند. چندین محدودیت اندازه برای اصلی بودن مبدا و مقصد اعمال می شود:

  • تعداد عناصر (منشا × مقصد) در هر صورت نباید بیشتر از 625 باشد.
  • اگر routingPreference روی TRAFFIC_AWARE_OPTIMAL تنظیم شده باشد، تعداد عناصر (مبداء × مقصد) نباید بیشتر از 100 باشد.
  • تعداد نقاط راه (مبداء + مقصد) مشخص شده به عنوان placeId نباید بیشتر از 50 باشد.
destinations[]

object ( RouteMatrixDestination )

مورد نیاز. آرایه ای از مقاصد، که ستون های ماتریس پاسخ را تعیین می کند.

travel Mode

enum ( RouteTravelMode )

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

routing Preference

enum ( RoutingPreference )

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

departure Time

string ( Timestamp format)

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

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

بدن پاسخگو

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

محدوده مجوز

به محدوده OAuth زیر نیاز دارد:

  • https://www.googleapis.com/auth/maps-platform.routespreferred

برای اطلاعات بیشتر، به نمای کلی OAuth 2.0 مراجعه کنید.