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.

نص الطلب

يحتوي نص الطلب على بيانات بالبنية التالية:

تمثيل 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 نقطة طريق متوسطة.

travelMode

enum (RouteTravelMode)

اختياريّ. تحدِّد هذه السمة وسيلة النقل.

routingPreference

enum (RoutingPreference)

اختياريّ. لتحديد كيفية حساب المسار. يحاول الخادم استخدام تفضيل التوجيه المحدد لحساب المسار. إذا نتج عن الإعداد المفضّل للتوجيه حدوث خطأ أو وقت استجابة طويل جدًا، سيتم عرض خطأ. لا يمكنك تحديد هذا الخيار إلا إذا كانت قيمة travelMode هي DRIVE أو TWO_WHEELER، وإلّا لن نتمكّن من إكمال الطلب.

polylineQuality

enum (PolylineQuality)

اختياريّ. تحدّد هذه السمة تفضيلك لجودة الخطوط المتعددة.

polylineEncoding

enum (PolylineEncoding)

اختياريّ. تحدّد هذه السمة الترميز المفضّل للخطوط المتعددة.

departureTime

string (Timestamp format)

اختياريّ. وقت المغادرة وفي حال عدم ضبط هذه القيمة، سيتم ضبط هذه القيمة تلقائيًا على الوقت الذي قدّمت الطلب فيه. ملاحظة: يمكنك فقط تحديد departureTime في الماضي عند ضبط RouteTravelMode على TRANSIT. تتوفّر رحلات النقل العام لمدة تصل إلى 7 أيام في الماضي أو 100 يوم في المستقبل.

طابع زمني بتنسيق RFC3339 UTC "Zulu" ، مع دقة نانوثانية وما يصل إلى تسعة أرقام كسرية. أمثلة: "2014-10-02T15:01:23Z" و"2014-10-02T15:01:23.045123456Z"

arrivalTime

string (Timestamp format)

اختياريّ. وقت الوصول ملاحظة: لا يمكن الضبط إلا عند ضبط RouteTravelMode على TRANSIT. يمكنك تحديد إما departureTime أو arrivalTime، ولكن ليس كليهما. تتوفّر رحلات النقل العام لمدة تصل إلى 7 أيام في الماضي أو 100 يوم في المستقبل.

طابع زمني بتنسيق RFC3339 UTC "Zulu" ، مع دقة نانوثانية وما يصل إلى تسعة أرقام كسرية. أمثلة: "2014-10-02T15:01:23Z" و"2014-10-02T15:01:23.045123456Z"

computeAlternativeRoutes

boolean

اختياريّ. لتحديد ما إذا كان سيتم حساب المسارات البديلة بالإضافة إلى المسار. لا يتم إرجاع مسارات بديلة للطلبات التي تحتوي على نقاط مسار وسيطة.

routeModifiers

object (RouteModifiers)

اختياريّ. مجموعة من الشروط التي يجب استيفاؤها والتي تؤثر في طريقة حساب المسارات.

languageCode

string

اختياريّ. رمز اللغة BCP-47، مثل en-US أو sr-Latn لمزيد من المعلومات، يُرجى الاطّلاع على معرِّف لغة Unicode. راجِع دعم اللغة للاطّلاع على قائمة اللغات المتاحة. في حال عدم تقديم هذه القيمة، يتم استنتاج لغة العرض من موقع طلب المسار.

regionCode

string

اختياريّ. تشير هذه السمة إلى رمز المنطقة، ويتم تحديده على أنّه نطاق مستوى أعلى يتم ترميزه حسب البلد (ccTLD) مكوَّن من حرفين ("نطاق المستوى الأعلى"). لمزيد من المعلومات، يُرجى الاطّلاع على نطاقات المستوى الأعلى التي يتم ترميزها حسب البلد.

units

enum (Units)

اختياريّ. تحدِّد وحدات القياس لحقول العرض. تتضمّن هذه الحقول الحقل instruction في NavigationInstruction. لا تتأثر وحدات القياس المستخدمة للمسار، والساق، ومسافة الخطوة، والمدة بهذه القيمة. إذا لم تقدّم هذه القيمة، سيتم استنتاج وحدات الشبكة الإعلانية من الموقع الجغرافي الأصلي.

optimizeWaypointOrder

boolean

اختياريّ. في حال ضبطها على "صحيح"، تحاول الخدمة خفض التكلفة الإجمالية للمسار من خلال إعادة ترتيب نقاط الطريق الوسيطة المحددة. تعذَّرت تلبية الطلب إذا كانت أي من نقاط الطريق الوسيطة هي نقطة طريق via. يمكنك استخدام ComputeRoutesResponse.Routes.optimized_intermediate_waypoint_index للعثور على الطلب الجديد. إذا لم يتم طلب ComputeRoutesResponseroutes.optimized_intermediate_waypoint_index في عنوان X-Goog-FieldMask، سيتعذّر تنفيذ الطلب. وإذا تم ضبط السياسة optimizeWaypointOrder على "خطأ"، سيكون حقل ComputeRoutesResponse.optimized_intermediate_waypoint_index فارغًا.

requestedReferenceRoutes[]

enum (ReferenceRoute)

اختياريّ. لتحديد المسارات المرجعية المطلوب حسابها كجزء من الطلب بالإضافة إلى المسار التلقائي. المسار المرجعي هو مسار ذو هدف حساب مسار مختلف عن المسار التلقائي. على سبيل المثال، يأخذ حساب المسار المرجعي في FUEL_EFFICIENT في الاعتبار المعلَمات المختلفة التي من شأنها إنشاء مسار مثالي يتميز بالكفاءة في استهلاك الوقود.

extraComputations[]

enum (ExtraComputation)

اختياريّ. قائمة بإجراءات العمليات الحسابية الإضافية التي يمكن استخدامها لإكمال الطلب ملاحظة: قد تؤدي هذه العمليات الحسابية الإضافية إلى عرض حقول إضافية في الاستجابة. يجب أيضًا تحديد هذه الحقول الإضافية في قناع الحقل لعرضها في الاستجابة.

trafficModel

enum (TrafficModel)

اختياريّ. تحدد الافتراضات المراد استخدامها عند حساب الوقت في حركة المرور. يؤثر هذا الإعداد في القيمة المعروضة في حقل المدة في Route وRouteLeg والذي يتضمّن الوقت المتوقّع في عدد الزيارات استنادًا إلى المتوسّطات السابقة. لا يتوفّر TrafficModel إلا للطلبات التي تم ضبط RoutingPreference على TRAFFIC_AWARE_OPTIMAL وRouteTravelMode على DRIVE. يتم ضبط القيمة التلقائية على BEST_GUESS في حال طلب عدد الزيارات ولم يتم تحديد TrafficModel.

transitPreferences

object (TransitPreferences)

اختياريّ. يحدّد الإعداد الإعدادات المفضّلة التي تؤثر في المسار الذي يتم عرضه لمسارات TRANSIT. ملاحظة: لا يمكنك تحديد transitPreferences إلا عند ضبط RouteTravelMode على TRANSIT.

نص الاستجابة

v2.computeRoutes رسالة الرد.

إذا كانت الاستجابة ناجحة، سيحتوي نص الاستجابة على بيانات بالبنية التالية:

تمثيل JSON
{
  "routes": [
    {
      object (Route)
    }
  ],
  "fallbackInfo": {
    object (FallbackInfo)
  },
  "geocodingResults": {
    object (GeocodingResults)
  }
}
الحقول
routes[]

object (Route)

يحتوي على مجموعة من المسارات المحسوبة (حتى ثلاثة) عند تحديد compute_alternatives_routes، كما أنه يحتوي على مسار واحد فقط إذا لم يكن ذلك واضحًا. عندما يحتوي هذا الصفيف على عدة إدخالات، يكون المسار الأول هو المسار الأكثر ننصح به. إذا كانت الصفيفة فارغة، فهذا يعني تعذّر العثور على أي مسار.

fallbackInfo

object (FallbackInfo)

في بعض الحالات عندما لا يتمكن الخادم من حساب نتائج المسار مع جميع تفضيلات الإدخال، قد يلجأ إلى استخدام طريقة حسابية مختلفة. عند استخدام الوضع الاحتياطي، يحتوي هذا الحقل على معلومات تفصيلية عن الاستجابة الاحتياطية. وبخلاف ذلك، لن يتم ضبط هذا الحقل.

geocodingResults

object (GeocodingResults)

يحتوي على معلومات استجابة الترميز الجغرافي لنقاط الطرق المحددة كعناوين.

PolylineQuality

يشير ذلك المصطلح إلى مجموعة من القيم التي تحدِّد جودة الخط المتعدد.

عمليات التعداد
POLYLINE_QUALITY_UNSPECIFIED لم يتم تحديد الإعدادات المفضّلة لجودة الخطوط المتعددة. وتكون الإعدادات التلقائية OVERVIEW.
HIGH_QUALITY تحدِّد هذه السياسة خطوطًا متعدّدة عالية الجودة يتم تأليفها باستخدام نقاط أكثر من OVERVIEW على حساب زيادة حجم الاستجابة. استخدِم هذه القيمة عندما تحتاج إلى مزيد من الدقة.
OVERVIEW تحدِّد هذه العلامة خطًا متعدّدًا للنظرة العامة، وتتكوّن باستخدام عدد صغير من النقاط. ويمكنك استخدام هذه القيمة عند عرض نظرة عامة على المسار. يؤدي استخدام هذا الخيار إلى انخفاض وقت استجابة الطلب مقارنةً باستخدام خيار HIGH_QUALITY.

PolylineEncoding

تحدد هذه السمة النوع المفضّل من الخطوط المتعددة المطلوب عرضها.

عمليات التعداد
POLYLINE_ENCODING_UNSPECIFIED لم يتم تحديد تفضيل لنوع الخطوط المتعددة. وتكون الإعدادات التلقائية ENCODED_POLYLINE.
ENCODED_POLYLINE تُحدّد هذه الدالة ترميزًا متعدد الخطوط باستخدام خوارزمية ترميز الخطوط المتعددة.
GEO_JSON_LINESTRING تحدِّد هذه السياسة خطوطًا متعدّدة باستخدام تنسيق GeoJSON LineString

ReferenceRoute

مسار مرجعي متوافق على ComputeRoutesRequest.

عمليات التعداد
REFERENCE_ROUTE_UNSPECIFIED غير مستخدَم. يتعذّر تقديم الطلبات التي تحتوي على هذه القيمة.
FUEL_EFFICIENT مسار موفّر للوقود تم تحديد المسارات المصنّفة بهذه القيمة على أنّها محسّنة وفقًا لمعلَمات مثل استهلاك الوقود.

ExtraComputation

عمليات حسابية إضافية يلزم إجراؤها أثناء إكمال الطلب.

عمليات التعداد
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
}
الحقول
routeLabels[]

enum (RouteLabel)

تصنيفات لـ Route يمكنك الاستفادة منها لتحديد خصائص معينة للمسار لمقارنتها بسمات أخرى.

legs[]

object (RouteLeg)

مجموعة من الأرجل (أجزاء المسار بين نقاط الطريق) التي تشكل المسار. تتوافق كل رِجلة مع الرحلة بين سلسلتَين من مقياس via Waypoints. فعلى سبيل المثال، المسار الذي لا يحتوي على نقاط طريق وسيطة يحتوي على ساق واحدة فقط. هناك مسار يشتمل على نقطة طريق وسيطة واحدة بخلاف via يتكون من ساقي. هناك مسار يشتمل على نقطة طريق وسيطة واحدة (via) يتضمّن ساق واحدة. يتطابق ترتيب الأرجل مع ترتيب نقاط الطريق من origin إلى intermediates حتى destination.

distanceMeters

integer

مسافة السفر على المسار بالمتر.

duration

string (Duration format)

المدة الزمنية اللازمة للتنقل في المسار. وإذا تم ضبط قيمة routingPreference على TRAFFIC_UNAWARE، ستكون هذه القيمة هي نفسها القيمة staticDuration. في حال ضبط السمة routingPreference على TRAFFIC_AWARE أو TRAFFIC_AWARE_OPTIMAL، سيتم احتساب هذه القيمة مع وضع أحوال حركة المرور في الاعتبار.

مدة بالثواني يصل عددها إلى تسعة أرقام كسرية وتنتهي بـ "s". مثال: "3.5s".

staticDuration

string (Duration format)

مدة السفر عبر المسار دون وضع ظروف حركة المرور في الاعتبار.

مدة بالثواني يصل عددها إلى تسعة أرقام كسرية وتنتهي بـ "s". مثال: "3.5s".

polyline

object (Polyline)

تمثّل هذه السمة الخطوط المتعددة للمسار الإجمالي. هذا الخطوط المتعددة هي الخطوط المتعددة التي تم دمجها بين الخطوط المتعددة legs.

description

string

وصف للمسار.

warnings[]

string

مجموعة من التحذيرات يتم عرضها عند عرض المسار.

viewport

object (Viewport)

مربع حدود إطار العرض للخطوط المتعددة

travelAdvisory

object (RouteTravelAdvisory)

معلومات إضافية حول المسار.

optimizedIntermediateWaypointIndex[]

integer

إذا تم ضبط optimizeWaypointOrder على "صحيح"، سيحتوي هذا الحقل على الترتيب المحسَّن لنقاط الطريق الوسيطة. وبخلاف ذلك، يكون هذا الحقل فارغًا. على سبيل المثال، إذا قدمت إدخال الأصل: LA، ونقاط الطرق المتوسطة: دالاس، وبانغور، وفينيكس، والوجهة: نيويورك، وترتيب نقاط الطريق المتوسط المحسن هو Phoenix، ودالاس، وBangor، فسيحتوى هذا الحقل على القيم [2، 0، 1]. ويبدأ الفهرس بـ 0 لأول نقطة طريق وسيطة يتم تقديمها في المدخل.

localizedValues

object (RouteLocalizedValues)

تمثيلات نصية لسمات Route.

routeToken

string

هو رمز مميز للمسار متوافق مع معايير الويب وبترميز base64 ويمكن تمريره إلى حزمة SDK للتنقل، ويسمح لحزمة SDK الخاصة بالتنقل بإعادة إنشاء المسار أثناء التنقل، وفي حالة إعادة التوجيه، يتم الالتزام بالهدف الأصلي عند إنشاء المسار من خلال طلب v2.computeRoutes. على العملاء التعامل مع هذا الرمز المميّز على أنّه كائن ثنائي كبير (blob). وليس الغرض منه القراءة أو التغيير. ملاحظة: لا يتوفّر Route.route_token إلا للطلبات التي تم ضبط ComputeRoutesRequest.routing_preference على TRAFFIC_AWARE أو TRAFFIC_AWARE_OPTIMAL. "Route.route_token" غير متاح للطلبات التي تحتوي على نقاط طريق.

RouteLabel

تصنيفات لـ Route يمكنك الاستفادة منها لتحديد خصائص معينة للمسار لمقارنتها بسمات أخرى.

عمليات التعداد
ROUTE_LABEL_UNSPECIFIED تلقائي - غير مستخدَم.
DEFAULT_ROUTE يتم عرض المسار "أفضل" الافتراضي لحساب المسار.
DEFAULT_ROUTE_ALTERNATE بديل للمسار الافتراضي "الأفضل". سيتم إرجاع مثل هذه المسارات عند تحديد computeAlternativeRoutes.
FUEL_EFFICIENT مسار موفّر للوقود تم تحديد المسارات المصنّفة بهذه القيمة على أنّها محسّنة وفقًا لمعلَمات صديق للبيئة، مثل استهلاك الوقود.

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)
  }
}
الحقول
distanceMeters

integer

تمثّل هذه السمة مسافة التنقّل بساق المسار بالمتر.

duration

string (Duration format)

المدة الزمنية اللازمة للتنقل في الساق. إذا تم ضبط route_preference على TRAFFIC_UNAWARE، ستكون هذه القيمة هي نفسها القيمة staticDuration. وإذا كانت قيمة السمة route_preference إما TRAFFIC_AWARE أو TRAFFIC_AWARE_OPTIMAL، سيتم احتساب هذه القيمة مع وضع أحوال حركة المرور في الاعتبار.

مدة بالثواني يصل عددها إلى تسعة أرقام كسرية وتنتهي بـ "s". مثال: "3.5s".

staticDuration

string (Duration format)

مدة السفر خلال الساق، ويتم احتسابها دون وضع ظروف حركة المرور في الاعتبار.

مدة بالثواني يصل عددها إلى تسعة أرقام كسرية وتنتهي بـ "s". مثال: "3.5s".

polyline

object (Polyline)

تمثّل هذه السمة الخطوط المتعددة إجمالية لهذه المرحلة التي تشمل كل من خطوط كل من step.

startLocation

object (Location)

مكان بداية هذه الساق. قد يكون هذا الموقع الجغرافي مختلفًا عن origin المقدَّم. على سبيل المثال، عندما لا يكون origin المقدَّم بالقرب من طريق ما، يتم عرض هذه النقطة على الطريق.

endLocation

object (Location)

موضع نهاية هذه الساق. قد يكون هذا الموقع الجغرافي مختلفًا عن destination المقدَّم. على سبيل المثال، عندما لا يكون destination المقدَّم بالقرب من طريق ما، يتم عرض هذه النقطة على الطريق.

steps[]

object (RouteLegStep)

مجموعة من الخطوات تشير إلى شرائح داخل هذه الساق. تمثل كل خطوة تعليمات تنقُّل واحدة.

travelAdvisory

object (RouteLegTravelAdvisory)

يحتوي على المعلومات الإضافية التي يجب إبلاغ المستخدم بها، مثل القيود المحتملة لمنطقة حركة المرور على جانب المسار.

localizedValues

object (RouteLegLocalizedValues)

تمثيلات نصية لسمات RouteLeg.

stepsOverview

object (StepsOverview)

معلومات عامّة عن الخطوات في RouteLeg تتم تعبئة هذا الحقل لمسارات النقل العام فقط.

خط متعدد

تتضمن هذه الدالة خطًا متعددًا مُشفَّرًا.

تمثيل 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 تتضمن نوع الخطوط المتعددة. يكون الإعداد التلقائي هو ترميز_polyline. يمكن أن يكون الحقل "polyline_type" واحدًا فقط مما يلي:
encodedPolyline

string

ترميز السلسلة للخطوط المتعددة باستخدام خوارزمية الترميز المتعدد الخطوط

geoJsonLinestring

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)
}
الحقول
distanceMeters

integer

المسافة المقطوعة لهذه الخطوة بالمتر في بعض الحالات، قد لا يحتوي هذا الحقل على قيمة.

staticDuration

string (Duration format)

مدة الانتقال خلال هذه الخطوة بدون وضع ظروف حركة المرور في الاعتبار. في بعض الحالات، قد لا يحتوي هذا الحقل على قيمة.

مدة بالثواني يصل عددها إلى تسعة أرقام كسرية وتنتهي بـ "s". مثال: "3.5s".

polyline

object (Polyline)

تمثّل هذه السمة الخطوط المتعددة المرتبطة بهذه الخطوة.

startLocation

object (Location)

تمثّل هذه السمة موقع بداية هذه الخطوة.

endLocation

object (Location)

تمثّل هذه السمة موقع نهاية هذه الخطوة.

navigationInstruction

object (NavigationInstruction)

تعليمات التنقّل

travelAdvisory

object (RouteLegStepTravelAdvisory)

يحتوي على المعلومات الإضافية التي يجب إبلاغ المستخدم بها، مثل القيود المحتملة على منطقة حركة المرور، على خطوة الساق.

localizedValues

object (RouteLegStepLocalizedValues)

تمثيلات نصية لسمات RouteLegStep.

transitDetails

object (RouteLegStepTransitDetails)

تفاصيل متعلقة بهذه الخطوة إذا كان وضع السفر هو TRANSIT.

travelMode

enum (RouteTravelMode)

وضع السفر المستخدَم لهذه الخطوة.

مناورة

مجموعة من القيم التي تحدّد إجراء التنقّل المطلوب تنفيذه للخطوة الحالية (على سبيل المثال، الانعطاف إلى اليسار أو الدمج أو الدور المستقيم).

عمليات التعداد
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)
    }
  ]
}
الحقول
speedReadingIntervals[]

object (SpeedReadingInterval)

ملاحظة: لم تتم تعبئة هذا الحقل حاليًا.

RouteLegStepLocalizedValues

تمثيلات نصية لخصائص معيّنة.

تمثيل JSON
{
  "distance": {
    object (LocalizedText)
  },
  "staticDuration": {
    object (LocalizedText)
  }
}
الحقول
distance

object (LocalizedText)

يتم تمثيل مسافة السفر في شكل نصي.

staticDuration

object (LocalizedText)

المدة بدون وضع ظروف حركة المرور في الاعتبار، ويتم تمثيلها في شكل نصي.

RouteLegStepTransitDetails

معلومات إضافية عن RouteLegStep ذات الصلة بمسارات TRANSIT.

تمثيل JSON
{
  "stopDetails": {
    object (TransitStopDetails)
  },
  "localizedValues": {
    object (TransitDetailsLocalizedValues)
  },
  "headsign": string,
  "headway": string,
  "transitLine": {
    object (TransitLine)
  },
  "stopCount": integer,
  "tripShortText": string
}
الحقول
stopDetails

object (TransitStopDetails)

تمثّل هذه السمة معلومات عن محطات الوصول والمغادرة للخطوة.

localizedValues

object (TransitDetailsLocalizedValues)

تمثيلات نصية لسمات RouteLegStepTransitDetails.

headsign

string

تحدد الاتجاه الذي يجب السفر فيه على هذا الخط كما هو موضح على المركبة أو في محطة المغادرة. ويكون الاتجاه غالبًا هو المحطة النهائية.

headway

string (Duration format)

تحدّد هذه السمة الوقت المتوقّع كمدة بين رحلات المغادرة من المحطة نفسها في الوقت الحالي. على سبيل المثال، إذا كانت قيمة ثواني البداية 600، تتوقع الانتظار لمدة عشر دقائق إذا فاتتك الحافلة.

مدة بالثواني يصل عددها إلى تسعة أرقام كسرية وتنتهي بـ "s". مثال: "3.5s".

transitLine

object (TransitLine)

معلومات حول خط النقل العام المستخدم في هذه الخطوة.

stopCount

integer

عدد المحطات من وقت المغادرة إلى محطة الوصول يشمل هذا العدد محطة الوصول، لكنه يستثني محطة المغادرة. على سبيل المثال، إذا غادر مسارك من المحطة "أ" ومرّ عبر المحطتين "ب" و"ج" ووصل إلى المحطة "د"، ستعرض دالة stationCount الرقم 3.

tripShortText

string

النص الذي يظهر في الجداول الزمنية ولوحات اللافتات لتحديد رحلة نقل عام إلى الركاب. يجب أن يحدّد النص رحلةً بشكلٍ فريد خلال يوم الخدمة. على سبيل المثال، الرقم "538" هو tripShortText قطار قطار "أمتراك" الذي يغادر سان خوسيه في كاليفورنيا في الساعة 15:10 خلال أيام الأسبوع إلى ساكرامنتو بولاية كاليفورنيا.

TransitStopDetails

تفاصيل عن محطات النقل العام في RouteLegStep.

تمثيل JSON
{
  "arrivalStop": {
    object (TransitStop)
  },
  "arrivalTime": string,
  "departureStop": {
    object (TransitStop)
  },
  "departureTime": string
}
الحقول
arrivalStop

object (TransitStop)

تمثّل هذه السمة معلومات عن محطة وصول الخطوة.

arrivalTime

string (Timestamp format)

الوقت المقدَّر للوصول إلى الخطوة.

طابع زمني بتنسيق RFC3339 UTC "Zulu" ، مع دقة نانوثانية وما يصل إلى تسعة أرقام كسرية. أمثلة: "2014-10-02T15:01:23Z" و"2014-10-02T15:01:23.045123456Z"

departureStop

object (TransitStop)

تمثّل هذه السمة معلومات عن محطة مغادرة الخطوة.

departureTime

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)
  }
}
الحقول
arrivalTime

object (LocalizedTime)

الوقت في تمثيل النص المنسّق مع المنطقة الزمنية المقابلة.

departureTime

object (LocalizedTime)

الوقت في تمثيل النص المنسّق مع المنطقة الزمنية المقابلة.

LocalizedTime

وصف مترجم للوقت.

تمثيل JSON
{
  "time": {
    object (LocalizedText)
  },
  "timeZone": string
}
الحقول
time

object (LocalizedText)

الوقت المحدد كسلسلة في منطقة زمنية معينة.

timeZone

string

تحتوي على المنطقة الزمنية. والقيمة هي اسم المنطقة الزمنية كما هو محدد في قاعدة بيانات المناطق الزمنية الصادرة عن IANA، مثل "America/New_York".

TransitLine

تحتوي على معلومات حول خط النقل العام المستخدم في هذه الخطوة.

تمثيل 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 المحلي".

uri

string

معرّف الموارد المنتظم (URI) لخط النقل العام هذا، وفقًا لما تقدمه مؤسسة النقل العام.

color

string

اللون المستخدم بشكل شائع في اللافتات لهذا الخط. يتم تمثيله بنظام العد السداسي العشري.

iconUri

string

معرّف الموارد المنتظم (URI) للرمز المرتبط بهذا السطر.

nameShort

string

الاسم المختصر لخط النقل العام هذا. سيكون هذا الاسم عادةً رقم سطر، مثل "M7" أو "355".

textColor

string

اللون المستخدم بشكل شائع في النص على اللافتات لهذا الخط. يتم تمثيله بنظام العد السداسي العشري.

vehicle

object (TransitVehicle)

تشير هذه السمة إلى نوع المركبة التي تعمل على خط النقل العام هذا.

TransitAgency

مؤسسة نقل عام تدير خط نقل عام.

تمثيل JSON
{
  "name": string,
  "phoneNumber": string,
  "uri": string
}
الحقول
name

string

اسم مؤسسة النقل العام هذه.

phoneNumber

string

رقم الهاتف المنسَّق الخاص بمؤسسة النقل العام والخاص بالمنطقة المحلية

uri

string

معرّف الموارد المنتظم (URI) الخاص بمؤسسة النقل العام

TransitVehicle

معلومات عن مركبة مستخدَمة في مسارات النقل العام.

تمثيل JSON
{
  "name": {
    object (LocalizedText)
  },
  "type": enum (TransitVehicleType),
  "iconUri": string,
  "localIconUri": string
}
الحقول
name

object (LocalizedText)

اسم هذه المركبة، بالأحرف اللاتينية الكبيرة.

type

enum (TransitVehicleType)

تعرض هذه السمة نوع المركبة المستخدَمة.

iconUri

string

معرّف الموارد المنتظم (URI) الخاص برمز مرتبط بنوع المركبة هذا.

localIconUri

string

معرّف الموارد المنتظم (URI) للرمز المرتبط بنوع المركبة هذا، استنادًا إلى لافتات النقل المحلية

TransitVehicleType

تمثّل هذه السمة نوع المركبات الخاصة بمسارات النقل العام.

عمليات التعداد
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)
    }
  ]
}
الحقول
tollInfo

object (TollInfo)

تحتوي على معلومات حول رسوم العبور على طريق RouteLeg المحدّد. لا تتم تعبئة هذا الحقل إلا إذا كنا نتوقع أن تكون هناك رسوم عبور على RouteLeg. إذا تم ضبط هذا الحقل مع عدم تعبئة الحقل الفرعي "estimatePrice"، نتوقع أن تحتوي الطريق على رسوم عبور، ولكننا لا نعرف سعرًا تقديريًا. في حال عدم توفّر هذا الحقل، لن تكون هناك أي رسوم على "RouteLeg".

speedReadingIntervals[]

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.

staticDuration

object (LocalizedText)

المدة بدون وضع ظروف حركة المرور في الاعتبار، ويتم تمثيلها في شكل نصي.

StepsOverview

لتقديم معلومات عامة حول قائمة من RouteLegStep.

تمثيل JSON
{
  "multiModalSegments": [
    {
      object (MultiModalSegment)
    }
  ]
}
الحقول
multiModalSegments[]

object (MultiModalSegment)

معلومات مُلخصة حول مختلف الأقسام متعددة الوسائط في RouteLeg.steps. لا تتم تعبئة هذا الحقل إذا لم يكن RouteLeg يحتوي على أي مقاطع متعددة الوسائط في الخطوات.

MultiModalSegment

تقدّم معلومات ملخّصة حول مختلف الأقسام المتعددة الوسائط في RouteLeg.steps. يتم تعريف الشريحة المتعدّدة الوسائط على أنّها سمة RouteLegStep متجاورة واحدة أو أكثر تتضمّن السمة RouteTravelMode نفسها. لا تتم تعبئة هذا الحقل إذا لم يكن RouteLeg يحتوي على أي مقاطع متعددة الوسائط في الخطوات.

تمثيل JSON
{
  "navigationInstruction": {
    object (NavigationInstruction)
  },
  "travelMode": enum (RouteTravelMode),
  "stepStartIndex": integer,
  "stepEndIndex": integer
}
الحقول
navigationInstruction

object (NavigationInstruction)

تعليمة التنقل للمقطع متعدد الوسائط.

travelMode

enum (RouteTravelMode)

وضع السفر للشريحة المتعددة الوسائط.

stepStartIndex

integer

فهرس RouteLegStep المقابل الذي يمثّل بداية شريحة متعددة الوسائط.

stepEndIndex

integer

فهرس RouteLegStep المقابل الذي يمثّل نهاية شريحة متعددة الوسائط.

إطار العرض

إطار عرض لخط العرض والطول، يتم تمثيله كنقطتين قطريَّين مقابل low وhigh ويُعدّ إطار العرض منطقة مغلقة، أي أنّه يتضمّن حدوده. يجب أن تتراوح حدود خطوط العرض بين -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, "longitude": -74.259087 }, "high": { "latitude": 40.91618, "longitude": -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.

staticDuration

object (LocalizedText)

المدة بدون وضع ظروف حركة المرور في الاعتبار، ويتم تمثيلها في شكل نصي.

transitFare

object (LocalizedText)

يتم تمثيل تعرفة النقل العام في شكل نصي.

GeocodingResults

تحتوي على GeocodedWaypoints لنقاط المصدر والوجهة ونقاط الطريق المتوسطة. تتم تعبئة هذا الحقل فقط لنقاط الطرق للعناوين.

تمثيل JSON
{
  "origin": {
    object (GeocodedWaypoint)
  },
  "destination": {
    object (GeocodedWaypoint)
  },
  "intermediates": [
    {
      object (GeocodedWaypoint)
    }
  ]
}
الحقول
origin

object (GeocodedWaypoint)

نقطة الطريق المرمّزة جغرافيًا للمصدر

destination

object (GeocodedWaypoint)

نقطة الطريق المرمّزة جغرافيًا للوجهة.

intermediates[]

object (GeocodedWaypoint)

قائمة بنقاط الطريق المتوسطة المرمّزة جغرافيًا والتي يحتوي كل منها على حقل فهرس يتجاوب مع الموضع الصفري للنقطة المحورية بالترتيب الذي تم تحديدها في الطلب.

GeocodedWaypoint

تفاصيل حول المواقع الجغرافية المستخدَمة كنقاط طرق. تتم تعبئة هذا الحقل فقط لنقاط الطرق للعناوين. يتضمن تفاصيل حول نتائج الترميز الجغرافي لأغراض تحديد الهدف من الترميز الجغرافي للعنوان.

تمثيل JSON
{
  "geocoderStatus": {
    object (Status)
  },
  "type": [
    string
  ],
  "partialMatch": boolean,
  "placeId": string,
  "intermediateWaypointRequestIndex": integer
}
الحقول
geocoderStatus

object (Status)

يشير إلى رمز الحالة الناتج عن عملية الترميز الجغرافي.

type[]

string

نوع(أنواع) النتيجة، في شكل علامات من صفر أو أكثر. الأنواع المتوافقة: أنواع العناوين وأنواع مكوّنات العناوين.

partialMatch

boolean

يشير إلى أن أداة الترميز الجغرافي لم تعرض تطابقًا تامًا للطلب الأصلي، على الرغم من قدرتها على مطابقة جزء من العنوان المطلوب. ننصحك بفحص الطلب الأصلي بحثًا عن أي أخطاء إملائية و/أو عنوان غير مكتمل.

placeId

string

تمثّل هذه السمة رقم تعريف المكان المرتبط بهذه النتيجة.

intermediateWaypointRequestIndex

integer

فهرس نقطة الطريق المتوسطة المقابلة في الطلب. ولا تتم تعبئة هذا الحقل إلا إذا كانت نقطة الطريق المقابلة نقطة طريق وسيطة.