מגבלות מהירות

הערך 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, וכל אחת מהן יכולה להחזיר מספר מזהים של מקומות מקריאה אחת.