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) "زولو" بدقة نانوثانية وما يصل إلى تسعة أرقام كسرية. أمثلة: "2014-10-02T15:01:23Z" و"2014-10-02T15:01:23.045123456Z".

arrivalTime

string (Timestamp format)

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

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

computeAlternativeRoutes

boolean

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

routeModifiers

object (RouteModifiers)

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

languageCode

string

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

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)

مجموعة من الأرجل (أجزاء المسار بين نقاط الطريق) التي تشكل المسار. تتوافق كل ساق مع الرحلة بين اثنين من Waypoints غير via. فعلى سبيل المثال، المسار الذي لا يحتوي على نقاط طريق متوسطة يكون له ساق واحدة فقط. المسار الذي يضم نقطة وسيطة واحدة غير 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, Dallas, Bangor، يحتوي هذا الحقل على القيم [2, 0, 1]. يبدأ الفهرس بـ 0 لأول نقطة وسيطة وسيطة مقدمة في الإدخال.

localizedValues

object (RouteLocalizedValues)

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

routeToken

string

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

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. يتم ملء هذا الحقل لمسارات 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. يوضح هذا الحقل نوع الخطوط المتعددة. يتم ضبط القيمة التلقائية على Encrypt_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

عدد محطات التوقف من المغادرة إلى محطة الوصول. ويشمل هذا العدد محطة الوصول، ولكنه يستثنى منها محطة المغادرة. على سبيل المثال، إذا غادر مسارك من المحطة A، ومرّ بالمحطتين B وC، ووصل إلى المحطة D، سيعرض 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) "زولو" بدقة نانوثانية وما يصل إلى تسعة أرقام كسرية. أمثلة: "2014-10-02T15:01:23Z" و"2014-10-02T15:01:23.045123456Z".

departureStop

object (TransitStop)

معلومات عن محطة المغادرة للخطوة.

departureTime

string (Timestamp format)

الوقت المقدّر لمغادرة الخطوة.

طابع زمني بتنسيق RFC3339 حسب التوقيت العالمي المنسَّق (UTC) "زولو" بدقة نانوثانية وما يصل إلى تسعة أرقام كسرية. أمثلة: "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، مثل "أمريكا/نيويورك".

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 Avenue Local".

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. إذا تمّ ضبط هذا الحقل ولكن لم تتم تعبئة الحقل الفرعي المقدَّر للسعر، نتوقّع أن يحتوي الطريق على رسوم عبور ولكن لا نعرف سعرًا تقديريًا. وفي حال عدم توفّر هذا الحقل، لن تكون هناك رسوم عبور على 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

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