رسیدگی به خطاها

پس از درخواست، ممکن است پاسخی دریافت کنید که حاوی جزئیات خطا باشد.

کاشی های دوبعدی و تصاویر نمای خیابان

فهرست زیر جزئیات خطاهایی را که ممکن است هنگام استفاده از کاشی‌های دوبعدی و تصاویر نمای خیابان با آن‌ها مواجه شوید، نشان می‌دهد.

خطا در فهرست کردن

فهرست زیر به جزئیات خطاهایی که ممکن است هنگام استفاده از Map Tiles API با آن‌ها مواجه شوید، می‌پردازد.

required
درخواست شما فاقد پارامتر URL است. توجه داشته باشید که پیام خطا نشان می دهد که کدام پارامتر وجود ندارد.
notFound ، invalid

مقادیر x ، y ، یا z شما خارج از محدوده هستند.

  • برای کاشی های نقشه معمولی، حداکثر سطح بزرگنمایی به کاشی نقشه خاص و به گزینه های نقشه ای که درخواست کرده اید بستگی دارد.

  • برای کاشی های نقشه معمولی، مختصات x باید در محدوده [0، (2^zoom)-1] باشد.

  • برای کاشی های نقشه معمولی، مختصات y باید در محدوده [0, (2^(zoom-1))-1] باشد.

  • برای کاشی‌های نمای خیابان، زوم باید بین صفر تا پنج باشد.

  • برای کاشی‌های نمای خیابان، محدوده مختصات x و y مانند کاشی‌های نقشه معمولی تا زوم سطح پنج است. در آن نقطه، حداکثر مقادیر imageHeight یا imagewidth تقسیم بر tileHeight یا tileWidth است.

forbidden : درخواست یک کلید API معتبر ندارد.

expired
رمز session شما منقضی شده است. یک نشانه جلسه به مدت دو هفته از زمان ایجاد آن معتبر است. توجه داشته باشید که این ممکن است بدون اطلاع قبلی تغییر کند. اگر این خطا را دریافت کردید، باید یک نشانه جلسه جدید دریافت کنید، همانطور که در Use session tokens توضیح داده شده است.
badRequest

درخواست شما بد شکل بود دلایل رایج این امر عبارتند از:

  • شما یک نوع نقشه terrain را بدون درج لایه roadmap مشخص کردید.

  • شما یک آرایه styles برای یک نوع نقشه غیرنقشه راه اضافه کرده اید.

  • شما یک مقدار lat/lng و همچنین یک شناسه پانوراما در یک درخواست فراداده نمای خیابان ارسال کردید.

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 را سرازیر نکنند - زیرا بسیاری از مشتریان تلاش می‌کنند درخواست‌ها را پشت سر هم دوباره امتحان کنند. این به این معنی است که وقتی درخواست‌های خود را دوباره امتحان می‌کنید، از عقب‌نشینی نمایی استفاده کنید. عقب نشینی تصاعدی شما را مجبور می کند تا درخواست های خود را به موقع پخش کنید تا به سرور زمان بازیابی بدهید.

به عنوان مثال، اگر درخواستی با شکست مواجه شد، پس از یک ثانیه دوباره سعی کنید. اما اگر این تلاش نیز با شکست مواجه شد، پس از دو ثانیه درخواست خود را دوباره امتحان کنید. اگر آن درخواست نیز ناموفق بود، پس از چهار ثانیه دوباره امتحان کنید. بنابراین شما به طور موثری هر درخواست متوالی را با دو برابر کردن مدت زمان بین آنها پخش می کنید.

کاشی های سه بعدی

ممکن است خطاهای سرور Google برای شما واضح نباشد زیرا از طریق یک رندر به کاشی‌های واقع‌گرایانه دسترسی پیدا می‌کنید که مسئول رسیدگی به خطاهای سرور است.

خطاهای رندر کاشی

به عنوان مثال، رندر CesiumJS معمولاً هنگامی که خطاهای سرور رخ می‌دهد، بی‌صدا از کار می‌افتد، که می‌تواند منجر به هر چیزی از خرابی، صفحه‌های خالی، تا لود نشدن کاشی‌های خاص شود.

تکنیکی که برای اشکال زدایی خطاهای سرور استفاده می کنید به رندر خاصی که استفاده می کنید بستگی دارد. برای رندرهای مبتنی بر مرورگر مانند CesiumJS، می توانید ترافیک شبکه را با ابزارهای تعبیه شده در اکثر مرورگرها بررسی کنید. برای مثال، می‌توانید از Chrome DevTools استفاده کنید.

خطاهای رایج

لیست زیر حاوی جزئیاتی در مورد رایج ترین خطاهایی است که ممکن است با آنها مواجه شوید.

400: استدلال نامعتبر است
کلیدهای API نامعتبر، پارامترهای پرس و جو، شناسه های کاشی/مجموعه کاشی، یا نشانه جلسه منقضی شده است.
403: اجازه داده نشد
کلید API موجود نیست، اتصال SSL موجود نیست، یا کلید API شما به لیست مجاز کاشی های سه بعدی اضافه نشده است. با شناسه پروژه خود با پشتیبانی Google تماس بگیرید تا به لیست مجاز برای عملکرد کاشی های سه بعدی Map Tiles API اضافه شوید.
429: درخواست های بسیار زیاد
سهمیه شما تمام شده است. برای افزایش سهمیه خود با پشتیبانی Google تماس بگیرید.