پساز ارسال درخواست، ممکن است پاسخی دریافت کنید که حاوی جزئیات خطا باشد.
کاشیهای دوبُعدی و تصاویر «نمای خیابان»
فهرست زیر جزئیات خطاهایی را که ممکن است هنگام استفاده از کاشیهای دوبعدی و تصاویر «نمای خیابان» با آنها مواجه شوید ارائه میدهد.
خطا در فهرست کردن
فهرست زیر خطاهایی را که ممکن است هنگام استفاده از Map Tiles API با آنها مواجه شوید بهتفصیل شرح میدهد.
required- درخواست شما فاقد پارامتر نشانی وب است. توجه داشته باشید که پیام خطا نشان میدهد کدام پارامتر وجود ندارد.
-
notFound،invalid مقادیر
x،y، یاzشما خارج از محدوده است.برای کاشیهای نقشه معمولی، حداکثر سطح بزرگنمایی به کاشی نقشه خاص و گزینههای نقشه که درخواست کردهاید بستگی دارد.
برای کاشیهای نقشه معمولی، مختصات x باید در محدوده [0, (2^zoom)-1] باشد.
برای کاشیهای نقشه معمولی، مختصات y باید در محدوده [0, (2^(zoom-1))-1] باشد.
برای «کاشیهای نمای خیابان»، بزرگنمایی باید بین صفر و پنج (شامل صفر و پنج) باشد.
برای «کاشیهای نمای خیابان»، محدودههای مختصات x و y تا سطح بزرگنمایی پنج، همانند کاشیهای نقشه معمولی است. در آن نقطه، حداکثر مقادیر
imageHeightیاimagewidthتقسیم برtileHeightیاtileWidthاست.
forbidden:
علل احتمالی:
درخواست فاقد کلید میانای برنامهسازی کاربردی معتبر است.
پیام:
Your request cannot be served. Please ensure the parameters and request type are valid for your account and region.کاشیهای ماهوارهای دوبعدی در پروژههایی که به حساب صورتحساب با نشانی منطقه اقتصادی اروپا (EEA) پیوند داده شدهاند دردسترس نیست. برای اطلاعات بیشتر، به اصلاحات Map Tiles API برای مشتریان منطقه اقتصادی اروپا مراجعه کنید.
expired- توکن
sessionشما منقضی شده است. کد جلسه بهمدت دو هفته از زمان ایجاد آن معتبر است. توجه داشته باشید که این مورد ممکن است بدون اطلاع قبلی تغییر کند. اگر این خطا را دریافت کردید، باید کد جلسه جدیدی دریافت کنید، همانطور که در استفاده از کد جلسه شرح داده شده است. badRequestدرخواست شما نامعتبر بود. دلایل رایج این خطا عبارت است از:
نوع نقشه
terrainرا بدون گنجاندن لایهroadmapمشخص کردهاید.آرایه
stylesرا برای نوع نقشه غیرنقشه راه اضافه کردهاید.در درخواست فراداده «نمای خیابان»، مقدار طول/عرض جغرافیایی و شناسه تمامنما را ارسال کردهاید.
-
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 ناموفق میشوند، باید درخواستتان را بهگونهای تکرار کنید که درخواستهای خراب یا خرابیهای گسترده سرورهای Google را اشباع نکنند—چون بسیاری از کارخواهها تلاش میکنند درخواستها را بهسرعت تکرار کنند. این یعنی استفاده از
عقبنشینی نمایی
هنگام امتحان مجدد درخواستها. عقبنشینی نمایی شما را مجبور میکند درخواستهایتان را در زمان پخش کنید تا به سرور فرصت دهید بازیابی شود.
برای مثال، اگر درخواستی ناموفق بود، پساز یک ثانیه دوباره امتحان کنید. اما اگر آن تلاش هم ناموفق بود، درخواستتان را بعداز دو ثانیه دوباره امتحان کنید. اگر آن درخواست هم ناموفق بود، پساز چهار ثانیه دوباره امتحان کنید. بنابراین شما بهطور مؤثری هر درخواست متوالی را با دوبرابر کردن مدت زمان بین آنها پخش میکنید.
کاشیهای سهبعدی
خطاهای سرور Google ممکن است برای شما واضح نباشد زیرا ازطریق یک پردازنده به کاشیهای واقعگرایانه دسترسی دارید که مسئول رسیدگی به خطاهای سرور است.
خطاهای پردازنده کاشی
برای مثال، پردازنده CesiumJS معمولاً هنگام وقوع خطاهای سرور بدون نمایش پیام خطا متوقف میشود، که میتواند منجر به هر چیزی از خرابی، صفحههای خالی، تا بارگیری نشدن کاشیهای خاص شود.
تکنیکی که برای اشکالزدایی خطاهای سرور استفاده میکنید به پردازنده خاصی که استفاده میکنید بستگی دارد. برای پردازنده گرافیکی مبتنی بر مرورگر مانند CesiumJS، میتوانید ترافیک شبکه را با ابزارهای تعبیهشده در اکثر مرورگرها بررسی کنید. برای مثال، میتوانید از Chrome DevTools استفاده کنید.
خطاهای رایج
فهرست زیر حاوی جزئیاتی درباره رایجترین خطاهایی است که ممکن است با آنها مواجه شوید.
- ۴۰۰: متغیر مستقل نامعتبر است
- کلیدهای میانای برنامهسازی کاربردی، پارامترهای پُرسمان، شناسههای کاشی/مجموعه کاشی نامعتبر است یا کد جلسه منقضی شده است.
- ۴۰۰: مقدار نامعتبر
- مطمئن شوید mapType که درخواست
createSessionTokenبا آن انجام شده است باmapTypeاستفادهشده در نقطه پایانی کاشی بعدی مطابقت داشته باشد. برای مثال، از کد جلسهstreetviewنمیتوان برای درخواست کاشیroadmapاستفاده کرد.
۴۰۳: اجازه داده نشد
علل احتمالی:
کلید میانای API وجود ندارد، اتصال SSL وجود ندارد، یا کلید میانای API شما به فهرست مجاز برای «کاشیهای سهبعدی» اضافه نشده است. با شناسه پروژهتان با پشتیبانی Google تماس بگیرید تا به فهرست مجاز برای عملکرد «کاشیهای سهبعدی» Map Tiles API اضافه شوید.
پیام:
Your request cannot be served. Please ensure the parameters and request type are valid for your account and region.کاشیهای سهبعدی واقعنما در پروژههایی که به حساب صورتحساب با نشانی «منطقه اقتصادی اروپا» (EEA) پیوند داده شدهاند دردسترس نیست. برای اطلاعات بیشتر، به اصلاحات Map Tiles API برای مشتریان منطقه اقتصادی اروپا مراجعه کنید.
- ۴۲۹: تعداد درخواستها بسیار زیاد است
- سهمیهتان تمام شده است. برای افزایش سهمیه، با پشتیبانی Google تماس بگیرید.