טיפול בשגיאות

אחרי שליחת הבקשה, יכול להיות שתקבלו תשובה עם פרטי השגיאה.

אריחים דו-ממדיים ותמונות Street View

ברשימה הבאה מפורטות השגיאות שעשויות להתרחש כשמשתמשים באריחים דו-ממדיים ובתמונות Street View.

שגיאה ברישום

ברשימה הבאה מפורטות השגיאות שעשויות להתרחש בזמן שימוש בממשק ה-API של אריחי המפה.

required
בבקשה שלך חסר פרמטר של כתובת אתר. שימו לב שהודעת השגיאה מציינת איזה פרמטר חסר.
notFound, invalid

הערכים x, y או z נמצאים מחוץ לטווח.

  • במשבצות מפה רגילות, מרחק התצוגה המרבי תלוי במשבצת המפה ובאפשרויות המפה שביקשת.

  • במשבצות מפה רגילות, קואורדינטת ה-x חייבת להיות בטווח [0, (2^זום)-1].

  • לגבי משבצות מפה רגילות, קואורדינטת ה-y חייבת להיות בטווח [0, (2^(zoom-1))-1].

  • במשבצות של Street View, המרחק מהתצוגה חייב להיות בין אפס לחמש, כולל.

  • במשבצות של Street View, טווחי הקואורדינטות x ו-y זהים לאלה של משבצות מפה רגילות, עד שזום ברמה 5. בשלב הזה, הערכים המקסימליים הם imageHeight או imagewidth חלקי tileHeight או tileWidth.

forbidden: בבקשה חסר מפתח API תקין.

expired
פג תוקף האסימון של session. אסימון סשן תקף למשך שבועיים ממועד היצירה שלו. שימו לב שהדבר עשוי להשתנות ללא התראה. אם השגיאה הזו מופיעה, אז אתם צריכים לקבל אסימון סשן חדש, כפי שמתואר במאמר שימוש באסימוני סשן.
badRequest

הבקשה שלך הייתה פגומה. סיבות נפוצות לכך:

  • ציינת סוג מפה terrain בלי לכלול שכבת roadmap.

  • כללת מערך styles לסוג מפה שאינה מפת דרכים.

  • שלחתם ערך של קווי אורך ורוחב, וגם מזהה פנורמה בבקשת מטא-נתונים של Street View.

quotaExceeded, rateLimitExceeded

האפליקציה חרגה מהמכסה המותרת או מספר השאילתות המותר לשנייה.

שגיאה לדוגמה

{
  "error": {
    "code": 403,
    "message": "The request is missing a valid API key.",
    "errors": [
      {
        "message": "The request is missing a valid API key.",
        "domain": "global",
        "reason": "forbidden"
      }
    ],
    "status": "PERMISSION_DENIED"
  }
}

ניסיון חוזר של בקשות

כשבקשות נכשלות עם quotaExceeded ו-rateLimitExceeded, כדאי לנסות שוב את הבקשה כך שבקשות לא תקינות או כשלים בהיקף רחב לא יציפו את שרתי Goodle – כי לקוחות רבים מנסים לשלוח בקשות שוב ברצף במהירות. כלומר, להשתמש בהשהיה מעריכית לפני ניסיון חוזר (exponential backoff) כשמנסים את הבקשות שוב. השהיה מעריכית לפני ניסיון חוזר (exponential backoff) מאלצת אתכם לפזר את הבקשות בזמן כדי לתת לשרת זמן להתאושש.

לדוגמה, אם בקשה נכשלה, יש לנסות שוב לאחר שנייה. אבל אם גם הניסיון הזה נכשל, יש לנסות שוב לאחר שתי שניות. אם גם הבקשה הזו נכשלת, נסו שוב לאחר ארבע שניות. כך אתם יכולים לפזר ביעילות כל בקשה עוקבת, פשוט על ידי הכפלת משך הזמן ביניהם.

אריחים בתלת ממד

יכול להיות ששגיאות מהשרת של Google לא יהיו גלויות, כי הגישה למשבצות פוטו-ריאליסטיות מתבצעת דרך כלי הרינדור, שאחראי לטיפול בשגיאות בשרת.

שגיאות של הכלי לעיבוד משבצות

לדוגמה, כלי הרינדור של CesiumJS בדרך כלל נכשל באופן שקט כשמתרחשות שגיאות שרת, מה שיכול לגרום לקריסות, למסכים ריקים ועד לאריחים מסוימים שלא נטענו.

השיטה שבה משתמשים לניפוי באגים בשגיאות שרת תלויה ברינדור הספציפי שבו משתמשים. בכלי לרינדור מבוססי-דפדפן כמו CesiumJS, אפשר לבדוק את התנועה ברשת באמצעות כלים המובנים ברוב הדפדפנים. לדוגמה, אפשר להשתמש בכלי הפיתוח ל-Chrome.

שגיאות נפוצות

הרשימה הבאה כוללת פרטים על השגיאות הנפוצות ביותר שאתם עשויים להיתקל בהן.

400: ארגומנט לא חוקי
מפתחות API לא חוקיים, פרמטרים של שאילתות, מזהי משבצות/כרטיסי מידע או אסימון סשן שפג תוקפו.
403: ההרשאה נדחתה
חסר מפתח API, חסר חיבור SSL, או שמפתח ה-API שלכם לא נוסף לרשימת ההיתרים של משבצות תלת-ממדיות. צרו קשר עם התמיכה של Google וציינו את מזהה הפרויקט כדי להוסיף אותו לרשימת ההיתרים של הפונקציונליות של משבצות בתלת-ממד ב-API של אריחי המפה.
429: יותר מדי בקשות
המכסה נוצלה במלואה. כדי להגדיל את המכסה, תוכלו לפנות לתמיכה של Google.