הערך Roads API מחזיר את מגבלת המהירות שצוינה עבור קטע דרך נתון. במקרה של קטעי כביש עם מגבלות מהירות משתנות, מוחזרת מגבלת המהירות המוגדרת כברירת מחדל לקטע.
לא ניתן להבטיח את הדיוק של נתוני מגבלת המהירות שמוחזרים על ידי Roads API. הנתונים לגבי מגבלת המהירות לא מופיעים בזמן אמת, ויכול להיות שהם יהיו משוערים, לא מדויקים, חלקיים ו/או לא עדכניים. אפשר לעיין בפרטי הכיסוי כדי לראות באילו אזורים יש נתונים על מגבלת המהירות.
בקשות
בקשה להגבלת מהירות חייבת להישלח דרך HTTPS, ובטופס הבא:
https://roads.googleapis.com/v1/speedLimits?parameters&key=YOUR_API_KEY
שימוש בפרמטרים
הפרמטרים הנדרשים
- פרמטר
path
אוplaceId
.path
- רשימה של עד 100 צמדים של קווי אורך ורוחב שמייצגים נתיב. אם יש ערכים של קווי אורך ורוחב, הם צריכים להיות מופרדים בפסיקים. צמדים של קווי אורך ורוחב צריכים להיות מופרדים באמצעות קו אנכי: '|'. כשמוסיפים את הפרמטרpath
, ה-API קודם מצמיד את הנתיב לכביש עם הסיכוי הגבוה ביותר שעבר כלי רכב (כפי שקורה במקרה של בקשתsnapToRoads
), ואז קובע את מגבלת המהירות מקטע הכביש הרלוונטי. אם אתם לא רוצים שה-API יצלם את הנתיב, צריך להעביר פרמטרplaceId
כמו שמוסבר בהמשך. בדוגמה הבאה מוצג הפרמטרpath
עם 3 צמדים של קווי אורך ורוחב:path=60.170880,24.942795|60.170879,24.942796|60.170877,24.942796
.placeId
– מזהי המקומות שמייצגים קטע דרך אחד או יותר. ודאו שכל מזהה מקום מתייחס לקטע דרך ולא לסוג אחר של מקום. אפשר להעביר עד 100 מזהי מקומות בכל בקשה. ה-API לא מבצע הצמדת כבישים במזהי המקומות שסופקו. התשובה כוללת מגבלת מהירות לכל מזהה מקום בבקשה. תוכל לשלוח בקשה שלsnapToRoads
אוnearestRoads
על מנת למצוא את מזהי המקומות הרלוונטיים, ולאחר מכן לציין אותם כקלט בבקשתspeedLimits
. בדוגמה הבאה מוצג הפרמטרplaceId
עם שני מזהי מקומות:placeId=ChIJX12duJAwGQ0Ra0d4Oi4jOGE&placeId=ChIJLQcticc0GQ0RoiNZJVa5GxU
key
- מפתח ה-API של האפליקציה. האפליקציה צריכה לזהות את עצמה בכל פעם שהיא שולחת בקשה אל Roads API, באמצעות הוספה של מפתח 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
. כשמעבירים מזהי מקומות, ה-API מחזיר את מגבלת המהירות של קטע הדרך שמיוצג על ידי כל מזהה מקום. ה-API לא מפעיל 'הצמדה בדרכים' על מזהי המקומות שסופקו.
בדוגמה הבאה מוצגות מגבלות המהירות בחלק מקטעי הכביש שחוצים את גשר ואסקו דה גאמה בליסבון שבפורטוגל.
שליחת בקשה
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 דקות (הערך המדויק תלוי במהירות שבה הנכס עובר). אם הנכס הוא נייח, מספיק דגימה של מיקום אחד (לא צריך לבצע כמה קריאות).
כדי לקצר את זמן האחזור הכולל, מומלץ לקרוא לשירות הגבלת המהירות אחרי שמצטברים נתונים, במקום להפעיל את ה-API בכל פעם שמתקבל מיקום הנכס לנייד.
למה חלק ממגבלות המהירות או כולן חסרות?
הסיבה השכיחה ביותר לחסר של speedLimits
היא מגבלת המהירות במקום שהוא לא קטע בכביש.
בדוגמה שלמעלה נשתמש בגשר ואסקו דה גאמה כדי להמחיש מושגים.
הגשר תומך בכביש E90 שחוצה את נהר ריו טחו. לגשר עצמו יש מזהה מקום: ChIJUzt97ZEwGQ0RM1JzQfqoDtU. קטע הכביש הראשון בתשובה שלמעלה הוא חלק מכביש E90 ומזהה המקום שלו הוא ChiJX12duJAwGQ0Ra0d4Oi4jOGE. בבקשה לדוגמה, אם מחליפים את המזהה של מקום הדרך במזהה המקום של הגשר, בתגובה יהיו רק שתי מגבלות מהירות במערך speedLimits
, כי מזהה המקום של הגשר לא מתייחס לקטע ספציפי בכביש. בנוסף, אם אף אחד ממזהי המקומות לא מיועד לקטעי דרך, התשובה לא תכלול מגבלות מהירות.
כששולחים בקשות להגבלת מהירות באמצעות מזהי מקומות, צריך לוודא שכל מזהה מקום מפנה לקטע דרך ולא לסוג אחר של מקום. מומלץ לאחזר מזהים של מקומות בקטעי דרך ספציפיים באמצעות בקשות snapToRoads
או nearestRoads
, וכל אחת מהן יכולה להחזיר מספר מזהים של מקומות מקריאה אחת.