يوفر مسار النقل إرشادات التنقل باستخدام خيارات النقل العام المتاحة في المنطقة. قد تشمل خيارات النقل العام الحافلات ومترو الأنفاق والقطارات وغيرها. يتضمن مسار النقل العام أيضًا إرشادات حول السير إلى ومن وإلى محطات النقل العام. نظرًا لأن مسار النقل العام يتطلب منك عادةً السفر باستخدام أكثر من وسيلة نقل واحدة، تختلف كيفية طلب المسار وبعض أجزاء الاستجابة.
مدى اختلاف مسارات النقل العام عن المسارات الأخرى
تختلف مسارات النقل العام التي تطلبها من خلال ضبط travelMode (وضع النقل) TRANSIT عن المسارات التي تستخدم خيارات travelMode (وضع السفر) المختلفة. لا يمكنك طلب جميع العناصر والخيارات نفسها، وسيعرض الردّ حقولاً مختلفة عند مقارنتها بالمسارات الأخرى.
في Routes API، تكون الخطوات دائمًا هي تعليمات واحدة للتنقّل على مستوى جميع أنواع السفر. لذا فإن كل تعليمات التنقل هي خطوة. استجابة مسار النقل العام تشبه إلى حد كبير المسارات ذات وسائل النقل الأخرى، مع بعض الاختلافات الرئيسية:
طلبات الاختلافات | الاختلافات في الردود |
---|---|
لا يمكنك تحديد نقاط طريق متوسطة. | تشمل تفاصيل النقل العام. |
يتعذّر الحصول على مسارات صديقة للبيئة | ويتضمّن بيانات وصفية لكل وسيلة سفر تتضمّن ملخّصًا لخطوات وضع السفر هذا في "stepsOverview" (لطلب هذه البيانات الوصفية، استخدِم قناع الحقل "routes.legs.stepsOverview"). |
لا يمكن تحديد كيفية تضمين بيانات عدد الزيارات وما إذا كان سيتم تضمينها | |
لا يمكن تحديد ميزات المسارات التي يجب تجنبها | |
يمكن فقط تحديد transitPreferences من أجل
routingPreference . للحصول على التفاصيل، يمكنك الاطّلاع على
[TransitPreferences](reference/rest/v2/TransitPreferences). |
لمزيد من المعلومات حول الردود التي تعرضها واجهة برمجة تطبيقات Routes API، يمكنك الاطّلاع على مقالة مراجعة الردود على مسار النقل العام.
للحصول على مسار نقل عام
اضبط نقطة الانطلاق والوجهة.
ضبط وضع السفر على النقل العام:
travelMode: "TRANSIT"
أضِف قناع حقل للحصول على حقول الردّ التي تريدها. يمكنك مراجعة طلب حقول مسار النقل العام التي تحتاجها.
إذا لزم الأمر، اضبط معلَمات اختيارية. يمكنك الاطّلاع على ضبط مَعلمات مسار النقل العام.
طلب حقول مسار النقل العام التي تحتاجها
يمكنك طلب حقول مسار النقل العام التي تحتاجها باستخدام أقنعة الحقول. يحتوي الجدول التالي على بعض الردود المقترحة لمسار نقل عام، وقناع الحقل لاستخدامه لطلبها.
لطلب هذه المعلومات | استخدام قناع الحقل هذا |
---|---|
كل تفاصيل المسار | routes.* |
كل تفاصيل النقل العام | routes.legs.steps.transitDetails |
موقع البدء لكل ساق | routes.legs.steps.startLocation |
موقع الانتهاء لكل ساق | routes.legs.steps.endLocation |
مسار متعدد الخطوط لكل خطوة | routes.legs.steps.polyline |
نوع النقل العام المستخدَم لكل خطوة | routes.legs.steps.travelMode |
الأجرة المقدرة لكل خطوة والمسار، والتعرفة المحلية المقدرة | routes.travel_advisory.transitFare
localized routes.localizedValues.transitFare
ملاحظة: لا تتوفّر السمة |
النص المترجَم للمدة والمسافة | routes.localizedValues |
لمزيد من المعلومات حول ضبط أقنعة الحقول، يمكنك الاطّلاع على مقالة اختيار الحقول المطلوب عرضها.
ضبط مَعلمات لمسار نقل عام
في ما يلي المعلمات ذات الصلة بمسارات النقل العام:
لإجراء ذلك، يُرجى اتّباع الخطوات التالية: | استخدام هذه المعلمة | Notes |
---|---|---|
اختيار وضع النقل العام | travelMode: "TRANSIT" |
مطلوبة. تتوفّر مزيد من المعلومات هنا. |
تحديد وقت الوصول أو المغادرة | "arrivalTime": "yyyy-mm-ddThh:mm:ssZ"
أو "departureTime": "yyyy-mm-ddThh:mm:ssZ" |
اختياريّ. يمكنك تحديد visibility_time أو expiration_time. في حال لم يتم تحديد أي وقت، سيتم ضبط departure_time تلقائيًا على وقت التنفيذ الحالي (now ). ولا يمكنك تحديد وقتَي الوصول والمغادرة إلا خلال الفترة الزمنية التالية، مع استخدام وقت التنفيذ الحالي (now ) كمرجع:
|
تضمين مسارات بديلة | "computeAlternativeRoutes": true |
اختياريّ. يمكنك الضبط على "صحيح" لكي تحتسب Routes API ما يصل إلى 3 مسارات إضافية، عند توفّرها. مزيد من المعلومات |
تحديد الإعدادات المفضّلة لنوع النقل العام | "transitPreferences": { allowedTravelModes: ["BUS","SUBWAY","TRAIN","LIGHT_RAIL","RAIL"]}
ملاحظة: إذا اخترت وضع سفر مفضّلاً، قد تستخدم المسارات التي يتم إرجاعها وسائل نقل عام أخرى، وقد تستخدم وسائل النقل العام الأخرى فقط، وذلك استنادًا إلى كفاءة المسار ومدى توفّر وسائل النقل المفضّلة لديك. |
اختياريّ. تحديد وسائل النقل العام المفضّلة مزيد من المعلومات |
تحديد الإعدادات المفضّلة لمسار النقل العام | "transitPreferences": {routingPreference: "LESS_WALKING|FEWER_TRANSFERS"} |
اختياريّ. تحديد الإعدادات المفضّلة لتوجيه النقل العام. مزيد من المعلومات |
مثال: الحصول على مسار للنقل العام
يوضح المثال التالي مسارًا للنقل باستخدام المعلمات التالية:
لتحديد الإعدادات المفضّلة للسفر بالقطار ومشي أقل.
تطلب مسارات بديلة.
يوفر قناع حقل يعرض تفاصيل النقل العام:
curl -X POST -H 'content-type: application/json' -d '{ "origin": { "address": "Humberto Delgado Airport, Portugal" }, "destination": { "address": "Basílica of Estrela, Praça da Estrela, 1200-667 Lisboa, Portugal" }, "travelMode": "TRANSIT", "computeAlternativeRoutes": true, "transitPreferences": { routingPreference: "LESS_WALKING", allowedTravelModes: ["TRAIN"] }, }' \ -H 'Content-Type: application/json' \ -H 'X-Goog-Api-Key: YOUR_API_KEY' \ -H 'X-Goog-FieldMask: routes.legs.steps.transitDetails' \ 'https://routes.googleapis.com/directions/v2:computeRoutes'
يعرض الردّ حقلَين (route.legs.steps.transitDetails
) للمسارَين:
{ "routes": [ { "legs": [ { "steps": [ {}, {}, {}, { "transitDetails": { "stopDetails": { "arrivalStop": { "name": "Saldanha", "location": { "latLng": { "latitude": 38.73532, "longitude": -9.14543 } } }, "arrivalTime": "2023-08-26T10:49:42Z", "departureStop": { "name": "Aeroporto", "location": { "latLng": { "latitude": 38.769047799999996, "longitude": -9.1284593 } } }, "departureTime": "2023-08-26T10:32:10Z" }, "localizedValues": { "arrivalTime": { "time": { "text": "11:49" }, "timeZone": "Europe/Lisbon" }, "departureTime": { "time": { "text": "11:32" }, "timeZone": "Europe/Lisbon" } }, "headsign": "São Sebastião", "transitLine": { "agencies": [ { "name": "Metropolitano de Lisboa, E.P.E.", "phoneNumber": "+351 21 350 0115", "uri": "https://www.metrolisboa.pt/" } ], "name": "Vermelha", "color": "#f23061", "nameShort": "Vm", "textColor": "#000000", "vehicle": { "name": { "text": "Metrô" }, "type": "SUBWAY", "iconUri": "//maps.gstatic.com/mapfiles/transit/iw2/6/subway2.png" } }, "stopCount": 11 } }, {}, { "transitDetails": { "stopDetails": { "arrivalStop": { "name": "Rato", "location": { "latLng": { "latitude": 38.7201022, "longitude": -9.1540562 } } }, "arrivalTime": "2023-08-26T11:01:37Z", "departureStop": { "name": "Saldanha", "location": { "latLng": { "latitude": 38.73527, "longitude": -9.1455200000000012 } } }, "departureTime": "2023-08-26T10:57:57Z" }, "localizedValues": { "arrivalTime": { "time": { "text": "12:01" }, "timeZone": "Europe/Lisbon" }, "departureTime": { "time": { "text": "11:57" }, "timeZone": "Europe/Lisbon" } }, "headsign": "Rato", "transitLine": { "agencies": [ { "name": "Metropolitano de Lisboa, E.P.E.", "phoneNumber": "+351 21 350 0115", "uri": "https://www.metrolisboa.pt/" } ], "name": "Amarela", "color": "#f2c200", "nameShort": "Am", "textColor": "#000000", "vehicle": { "name": { "text": "Metrô" }, "type": "SUBWAY", "iconUri": "//maps.gstatic.com/mapfiles/transit/iw2/6/subway2.png" } }, "stopCount": 4 } }, {}, {}, {}, {}, {}, {} ] } ] } ] }