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.

نص الاستجابة

الإصدار 2.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.

الوحدات

مجموعة من القيم التي تحدد وحدة القياس المستخدمة في العرض.

عمليات التعداد
UNITS_UNSPECIFIED لم يتم تحديد وحدات القياس. يتم استخدام الخيار التلقائي بوحدة القياس المستنتَجة من الطلب.
METRIC وحدات القياس المترية.
IMPERIAL وحدات القياس الإمبراطورية (الإنجليزية).

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، نقاط طريق وسيطة: دالاس، بانغور، وفينيكس، الوجهة: نيويورك، وترتيب نقاط الطريق المتوسط المحسّن هو فينيكس، دالاس، بانغور، فإن هذا الحقل يحتوي على القيم [2، 0، 1]. ويبدأ الفهرس بـ 0 لأول نقطة طريق وسيطة يتم توفيرها في الإدخال.

localizedValues

object (RouteLocalizedValues)

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

routeToken

string

رمز مميز للمسار آمن على الويب مع استخدام ترميز base64 والذي يمكن تمريره إلى حزمة تطوير البرامج (SDK) للتنقل، ويتيح لحزمة تطوير البرامج (SDK) الخاصة بالتنقل إعادة إنشاء المسار أثناء التنقل، وفي حال إعادة التوجيه، يجب مراعاة النية الأصلية عند إنشاء المسار من خلال استدعاء الإصدار 2.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 تتضمن نوع الخطوط المتعددة. يكون الإعداد التلقائي هو 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

عدد محطات التوقف من المغادرة إلى محطة الوصول. يشمل هذا العدد محطة الوصول، ولكنه لا يشمل محطة المغادرة. على سبيل المثال، إذا غادر مسارك من المحطة "أ" ومر عبر المحطتين "ب" و"ج" ووصل إلى المحطتين "د"، فستعرض دالة StopCount 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)، مثل "أمريكا/نيويورك".

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

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