تعرض Roads API الحدّ الأقصى للسرعة المنشور لجزء محدّد من الطريق. في حالة أجزاء الطريق ذات حدود السرعة المتغيرة، يتم عرض حد السرعة التلقائي للجزء.
لا يمكن ضمان دقة بيانات حد السرعة التي تعرضها سياسة Roads API. إنّ بيانات الحدّ الأقصى للسرعة التي يتم تقديمها ليست في الوقت الفعلي، وقد يتم تقديرها و/أو عدم دقتها أو اكتمالها أو عدم اكتمالها. يُرجى الاطّلاع على تفاصيل التغطية للاطّلاع على المناطق التي تتوفّر فيها بيانات حدود السرعة.
الكائن Requests
ويجب إرسال طلب للوصول إلى حدود السرعة من خلال بروتوكول HTTPS، ويجب أن يكون على النحو التالي:
https://roads.googleapis.com/v1/speedLimits?parameters&key=YOUR_API_KEY
استخدام المَعلمة
المعلّمات المطلوبة
- إما
path
أو معلَمةplaceId
.path
- قائمة تضم ما يصل إلى 100 زوج لخطوط العرض/الطول يمثّل مسارًا. يجب فصل قيم خطوط العرض وخطوط الطول بفواصل. يجب فصل أزواج خطوط العرض/الطول بحرف الخط: "|". عند توفير مَعلمةpath
، تلتقط واجهة برمجة التطبيقات المسار أولاً إلى الطريق الذي يُرجح أن تنتقل إليها المركبة (كما يحدث مع طلبsnapToRoads
)، ثم تحدّد الحد الأقصى للسرعة لجزء الطريق المعني. إذا كنت لا تريد أن تلتقط واجهة برمجة التطبيقات المسار، عليك تمرير مَعلمةplaceId
كما هو موضّح أدناه. يوضّح المثال التالي المعلَمةpath
مع ثلاثة أزواج من خطوط العرض وخطوط الطول:path=60.170880,24.942795|60.170879,24.942796|60.170877,24.942796
placeId
- أرقام تعريف الأماكن التي تمثل شريحة واحدة أو أكثر من الطرق تأكّد من أن كل رقم تعريف مكان يشير إلى جزء من الطريق وليس نوع من الأماكن. يمكنك تمرير ما يصل إلى 100 رقم تعريف للأماكن مع كل طلب. لا تُجري واجهة برمجة التطبيقات محاذاة للصفحات على أرقام تعريف الأماكن التي تم تقديمها. تتضمّن الإجابة حدّ سرعة لكل رقم تعريف للمكان في الطلب. يمكنك إرسال طلب علىsnapToRoads
أوnearestRoads
للعثور على أرقام تعريف الأماكن ذات الصلة، ثم إدخالها كإدخال في طلبspeedLimits
. يوضّح المثال التالي المعلَمةplaceId
مع معرّفَي المكان:placeId=ChIJX12duJAwGQ0Ra0d4Oi4jOGE&placeId=ChIJLQcticc0GQ0RoiNZJVa5GxU
key
: مفتاح واجهة برمجة التطبيقات الخاص بتطبيقك يجب أن يحدّد تطبيقك نفسه في كل مرة يرسل فيها طلبًا إلى Roads API عن طريق تضمين مفتاح واجهة برمجة تطبيقات مع كل طلب. يمكنك الاطّلاع على كيفية الحصول على مفتاح.
المعلّمات الاختيارية
units
: ما إذا كان سيتم عرض حدود السرعة بالكيلومتر أو الأميال في الساعة ويمكن ضبط هذه السمة علىKPH
أوMPH
. يكون الإعداد التلقائي بالقيمةKPH
.
الردود
قد تكون العناصر التالية موجودة في استجابة speedLimits
:
speedLimits
— مصفوفة من البيانات الوصفية للطريق. يتألّف كل عنصر من الحقول التالية:placeId
: معرّف فريد للمكان. ستتطابق جميع معرّفات الأماكن التي تعرضها Roads API مع أجزاء الطريق.speedLimit
: حد السرعة بالنسبة إلى جزء الطريق هذا.units
: يعرضKPH
أوMPH
.
snappedPoints
: مصفوفة من النقاط تلك. لا تتوفّر هذه المصفوفة إلا إذا كان الطلب يحتوي على معلَمةpath
. تتألف كل نقطة من الحقول التالية:location
- يحتوي على قيمةlatitude
وlongitude
.originalIndex
- عدد صحيح يشير إلى القيمة المقابلة في الطلب الأصلي. يجب ربط كل قيمة في الطلب بقيمة سريعة في الرد. تمت فهرسة هذه القيم من0
، وبالتالي فإنّ النقطة التي تتضمّنoriginalIndex
من القيمة4
ستكون القيمة الملتقطة لخط العرض/خط الطول الخامس الذي يتم تمريره إلى المَعلمةpath
.placeId
: معرّف فريد للمكان. ستتطابق جميع معرّفات الأماكن التي تعرضها Roads API مع أجزاء الطريق. يمكن تمريرplaceId
في طلب حدود السرعة لتحديد حد السرعة على طول جزء الطريق هذا.
warning_message
: سلسلة تتضمّن تحذيرًا مرئيًا للمستخدم.
مثال على طلب باستخدام مسار
يحصل هذا الطلب على الحد الأقصى للسرعة لكل جزء من الطريق أقرب إلى أزواج خطوط الطول/العرض المحددة في مسار يعبر جسر فاسكو دا غاما في لشبونة في البرتغال.
طلب
https://roads.googleapis.com/v1/speedLimits?path=38.75807927603043,-9.03741754643809|38.6896537,-9.1770515|41.1399289,-8.6094075&key=YOUR_API_KEY
الردّ
{ speedLimits: [ { placeId: "ChIJX12duJAwGQ0Ra0d4Oi4jOGE", speedLimit: 105, units: "KPH" }, { placeId: "ChIJLQcticc0GQ0RoiNZJVa5GxU", speedLimit: 70, units: "KPH" }, { placeId: "ChIJJ4vQRudkJA0RpednU70A-5M", speedLimit: 55, units: "KPH" } ], snappedPoints: [ { location: { latitude: 38.75807927603043, longitude: -9.037417546438084 }, originalIndex: 0, placeId: "ChIJX12duJAwGQ0Ra0d4Oi4jOGE" }, { location: { latitude: 38.689653701836896, longitude: -9.177051486847693 }, originalIndex: 1, placeId: "ChIJLQcticc0GQ0RoiNZJVa5GxU" }, { location: { latitude: 41.13993011767777, longitude: -8.609400794783655 }, originalIndex: 2, placeId: "ChIJJ4vQRudkJA0RpednU70A-5M" } ], warningMessage: "Input path is too sparse. You should provide a path where consecutive points are closer to each other. Refer to the 'path' parameter in Google Roads API documentation." }
يُرجى ملاحظة رسالة تحذير لمعرفة مدى تباعد النقاط في الرد أعلاه. إذا كنت
تطلب حدودًا للسرعة لأقرب أجزاء من الطرق في نقاط عشوائية،
يجب طلب speedLimits
باستخدام معرّفات الأماكن التي تم استردادها من
نقطة نهاية nearestRoads
بدلاً من ذلك.
مثال على طلب باستخدام أرقام تعريف الأماكن
بدلاً من استخدام أزواج خطوط الطول/العرض، يمكنك تمرير معرّفات الأماكن لأجزاء الطريق. ننصحك بالحصول على أرقام تعريف الأماكن لأجزاء الطريق باستخدام طلبات snapToRoads
أو nearestRoads
. عند تمرير أرقام تعريف الأماكن، تعرض واجهة برمجة التطبيقات
حدّ السرعة لجزء الطريق الذي يمثّله كل رقم تعريف مكان. ولا تطبّق
واجهة برمجة التطبيقات أي محاذاة للطريق على أرقام تعريف الأماكن المقدّمة.
يطلب المثال التالي حدود السرعة لبعض أجزاء الطريق التي تعبر جسر فاسكو دا غاما في لشبونة في البرتغال.
طلب
https://roads.googleapis.com/v1/speedLimits?placeId=ChIJX12duJAwGQ0Ra0d4Oi4jOGE&placeId=ChIJLQcticc0GQ0RoiNZJVa5GxU&placeId=ChIJJ4vQRudkJA0RpednU70A-5M&key=YOUR_API_KEY
الردّ
{ "speedLimits": [ { placeId: "ChIJX12duJAwGQ0Ra0d4Oi4jOGE", speedLimit: 105, units: "KPH" }, { placeId: "ChIJLQcticc0GQ0RoiNZJVa5GxU", speedLimit: 70, units: "KPH" }, { placeId: "ChIJJ4vQRudkJA0RpednU70A-5M", speedLimit: 55, units: "KPH" } ] }
اقتراحات الاستخدام
لتقليل حجم المكالمات إلى خدمة "حدّ السرعة"، ننصحك بأخذ عيّنة من مواد العرض على فترات تتراوح بين 5 و15 دقيقة (تعتمد القيمة الدقيقة على سرعة تنقّل مادة العرض). ويُرجى العِلم أنّ نموذج موقع جغرافي واحد يكفي (ليس هناك حاجة لإجراء عدة مكالمات) إذا كانت مادة العرض ثابتة.
لتقليل وقت الاستجابة بشكل عام، نقترح طلب خدمة "حد السرعة" بعد تجميع بعض البيانات، بدلاً من طلب بيانات من واجهة برمجة التطبيقات في كل مرة يتم فيها تلقي موقع مادة العرض على الأجهزة الجوّالة.
ما سبب عدم توفّر بعض أو كل حدود السرعة؟
إنّ السبب الأكثر شيوعًا وراء عدم توفّر السمة speedLimits
هو طلب الحد الأقصى للسرعة للمكان الذي لا يمثّل جزءًا من طريق.
يستخدم المثال أعلاه جسر فاسكو دا غاما لتوضيح مفاهيمها،
وجسر الجسر على عبور الطريق E90 فوق "ريو تيجو". تحتوي مجموعة إعدادات نقل المحتوى على رقم تعريف المكان ChIJUzt97ZEwGQ0RM1JzQfqoDtU. إنّ الجزء الأول من الطريق
في الرد أعلاه هو جزء من الطريق E90 ويحمل رقم تعريف المكان
ChIJX12duJAwGQ0Ra0d4Oi4jOGE. في نموذج الطلب، إذا استبدلت رقم تعريف مكان الطريق برقم تعريف مكان مجموعة إعدادات نقل المحتوى، لن يكون هناك استجابة في حدٍّ أقصى للسرعة في مصفوفة speedLimits
لأنّ معرّف مكان مجموعة إعدادات نقل المحتوى لا يشير إلى جزء من طريق فردي. علاوة على ذلك، إذا لم يكن أي من
أرقام تعريف الأماكن لأجزاء الطريق، لن تحتوي الاستجابة على
أي حدود للسرعة.
عند إجراء طلبات للحد الأقصى للسرعة باستخدام أرقام تعريف الأماكن، تأكد من أن كل رقم تعريف مكان يشير إلى جزء من الطريق وليس نوع من الأماكن. يتم استرداد معرّفات الأماكن
لأجزاء الطرق الفردية بأفضل شكل باستخدام طلبات snapToRoads
أو nearestRoads
، والتي يمكن أن تؤدي أي منها إلى عرض أرقام تعريف متعددة للأماكن من مكالمة واحدة.