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 المسار المرجعي في الاعتبار مَعلمات مختلفة من شأنها إنشاء مسار مثالي يستهلك الوقود بكفاءة. عند استخدام هذه الميزة، ابحث عن routeLabels في المسارات الناتجة.

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 مسار أقل استهلاكًا للوقود
SHORTER_DISTANCE

المسار الذي يقطع مسافة أقصر هذه ميزة تجريبية.

بالنسبة إلى طلبات DRIVE، تمنح هذه الميزة الأولوية للمسافة الأقصر على راحة القيادة. على سبيل المثال، قد تفضّل الطرق المحلية بدلاً من الطرق السريعة، أو استخدام الطرق الترابية، أو المرور عبر مواقف السيارات، وما إلى ذلك. ولا تعرض هذه الميزة أي مناورات تعرف "خرائط Google" أنّها غير قانونية.

بالنسبة إلى طلبات BICYCLE وTWO_WHEELER، تعرض هذه الميزة مسارات مشابهة للمسارات التي يتم عرضها عندما لا تحدِّد requestedReferenceRoutes.

لا تتوافق هذه الميزة مع أي أوضاع سفر أخرى، أو عبر نقاط مسار وسيطة، أو optimizeWaypointOrder، وسيتم رفض هذه الطلبات. ومع ذلك، يمكنك استخدامه مع أي routingPreference.

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

localizedValues

object (RouteLocalizedValues)

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

routeToken

string

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

ملاحظة: لا يتوفّر الخيار 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 مسار أقل استهلاكًا للوقود يتم تحديد المسارات التي تم تصنيفها بهذه القيمة لتحسينها وفقًا للمَعلمات "الصديقة للبيئة"، مثل استهلاك الوقود.
SHORTER_DISTANCE مسار المسافة الأقصر للسفر هذه ميزة تجريبية.

RouteLeg

يحتوي على مقطع بين نقاط طريق غير via.

تمثيل JSON
{
  "distanceMeters": integer,
  "duration": string,
  "staticDuration": string,
  "polyline": {
    object (Polyline)
  },
  "startLocation": {
    object (Location)
  },
  "endLocation": {
    object (Location)
  },
  "steps": [
    {
      object (RouteLegStep)
    }
  ],
  "travelAdvisory": {
    object (RouteLegTravelAdvisory)
  },
  "localizedValues": {
    object (RouteLegLocalizedValues)
  },
  "stepsOverview": {
    object (StepsOverview)
  }
}
الحقول
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 تُحاط بنوع الخطوط المتعددة. القيمة التلقائية هي encoded_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 لقطار Amtrak الذي يغادر سان خوسيه، كاليفورنيا في الساعة 3: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 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

عنوان URL لرمز مرتبط بنوع المركبة هذا

localIconUri

string

عنوان URL للرمز المرتبط بنوع المركبة هذا، استنادًا إلى علامات النقل المحلي

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

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