پساز ارسال درخواست، ممکن است پاسخی دریافت کنید که حاوی جزئیات خطا باشد.
کاشیهای دوبُعدی و تصاویر «نمای خیابان»
فهرست زیر جزئیات خطاهایی را که ممکن است هنگام استفاده از کاشیهای دوبعدی و تصاویر «نمای خیابان» با آنها مواجه شوید ارائه میدهد.
خطا در فهرست کردن
فهرست زیر خطاهایی را که ممکن است هنگام استفاده از 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) پیوند داده شدهاند دردسترس نیست. جایگزینهای پشتیبانیشده شامل Maps JavaScript API، کیت توسعه نرمافزار Google Maps برای Android، یا کیت توسعه نرمافزار Google Maps برای iOS است. برای اطلاعات بیشتر، به اصلاحات 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استفاده کرد.
۴۰۳: اجازه رد شد
علل احتمالی:
کلید میانای برنامهسازی کاربردی وجود ندارد، اتصال SSL وجود ندارد، یا کلید میانای برنامهسازی کاربردی شما به فهرست مجاز برای «کاشیهای سهبعدی» اضافه نشده است. با شناسه پروژهتان با پشتیبانی Google تماس بگیرید تا به فهرست مجاز برای عملکرد «کاشیهای سهبعدی» Map Tiles API اضافه شوید.
پیام:
Your request cannot be served. Please ensure the parameters and request type are valid for your account and region.کاشیهای سهبعدی واقعنما در پروژههایی که به حساب صورتحساب با نشانی «منطقه اقتصادی اروپا» (EEA) پیوند داده شدهاند دردسترس نیست. جایگزینهای پشتیبانیشده شامل ویژگی «نقشههای سهبعدی» در Maps JavaScript API، Maps SDK for Android، یا Maps SDK for iOS است. برای اطلاعات بیشتر، به اصلاحات Map Tiles API برای مشتریان منطقه اقتصادی اروپا مراجعه کنید.
- ۴۲۹: درخواستهای بسیار زیاد
- سهمیهتان تمام شده است. برای افزایش سهمیه، با پشتیبانی Google تماس بگیرید.