پس از ارسال درخواست، ممکن است پاسخی دریافت کنید که حاوی جزئیات خطا باشد.
کاشیهای دوبعدی و تصاویر نمای خیابان
لیست زیر خطاهایی را که ممکن است هنگام استفاده از کاشیهای دوبعدی و تصاویر نمای خیابان با آنها مواجه شوید، شرح میدهد.
خطا در فهرستبندی
لیست زیر خطاهایی را که ممکن است هنگام استفاده از 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 معتبر است.
پیام:
Your request cannot be served. Please ensure the parameters and request type are valid for your account and region.کاشیهای ماهوارهای دوبعدی در پروژههایی که به یک حساب صورتحساب با آدرس منطقه اقتصادی اروپا (EEA) مرتبط هستند، در دسترس نیستند. برای اطلاعات بیشتر، به تنظیمات API کاشیهای نقشه برای مشتریان EEA مراجعه کنید.
-
expired - توکن
sessionشما منقضی شده است. یک توکن جلسه به مدت دو هفته از زمان ایجاد آن معتبر است. توجه داشته باشید که این ممکن است بدون اطلاع قبلی تغییر کند. اگر این خطا را دریافت کردید، باید یک توکن جلسه جدید دریافت کنید، همانطور که در بخش «استفاده از توکنهای جلسه» توضیح داده شده است. -
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 را پر نکنند - زیرا بسیاری از کلاینتها سعی میکنند درخواستها را پشت سر هم و سریع امتحان کنند. این به معنای استفاده از backoff نمایی هنگام امتحان مجدد درخواستهای شماست. backoff نمایی شما را مجبور میکند تا درخواستهای خود را به موقع پخش کنید تا به سرور زمان بازیابی بدهید.
برای مثال، اگر یک درخواست با شکست مواجه شد، پس از یک ثانیه دوباره امتحان کنید. اما اگر آن تلاش نیز با شکست مواجه شد، پس از دو ثانیه دوباره درخواست خود را امتحان کنید. اگر آن درخواست نیز با شکست مواجه شد، پس از چهار ثانیه دوباره امتحان کنید. بنابراین شما به طور مؤثر هر درخواست متوالی را با دو برابر کردن مدت زمان بین آنها پخش میکنید.
کاشیهای سهبعدی
خطاهای سرور گوگل ممکن است برای شما آشکار نباشند، زیرا شما از طریق یک رندرکننده به کاشیهای واقعگرایانه دسترسی دارید که مسئول رسیدگی به خطاهای سرور است.
خطاهای رندر کاشی
برای مثال، رندرکننده CesiumJS معمولاً هنگام بروز خطاهای سرور، بیسروصدا از کار میافتد که میتواند منجر به هر چیزی از خرابیها، صفحات خالی گرفته تا عدم بارگذاری برخی از کاشیها شود.
تکنیکی که برای اشکالزدایی خطاهای سرور استفاده میکنید، به رندرکنندهی خاصی که استفاده میکنید بستگی دارد. برای رندرکنندههای مبتنی بر مرورگر مانند CesiumJS، میتوانید ترافیک شبکه را با ابزارهایی که در اکثر مرورگرها تعبیه شدهاند، بررسی کنید. به عنوان مثال، میتوانید از Chrome DevTools استفاده کنید.
خطاهای رایج
لیست زیر شامل جزئیاتی در مورد رایجترین خطاهایی است که ممکن است با آنها مواجه شوید.
- ۴۰۰: استدلال نامعتبر
- کلیدهای API، پارامترهای پرسوجو، شناسههای کاشی/مجموعه کاشی نامعتبر، یا توکن نشست منقضی شده.
- ۴۰۰: مقدار نامعتبر
- مطمئن شوید که mapType که درخواست
createSessionTokenبا آن ارسال شده است، باmapTypeاستفاده شده در نقطه پایانی کاشی بعدی مطابقت داشته باشد. برای مثال، نمیتوان از توکن نشستstreetviewبرای درخواست کاشیroadmapاستفاده کرد.
۴۰۳: اجازه داده نشد
علل احتمالی:
کلید API شما موجود نیست، اتصال SSL شما برقرار نیست، یا کلید API شما به لیست مجاز برای کاشیهای سهبعدی اضافه نشده است. برای اضافه شدن به لیست مجاز برای قابلیت کاشیهای سهبعدی API کاشیهای نقشه، با پشتیبانی گوگل تماس بگیرید و شناسه پروژه خود را ارائه دهید.
پیام:
Your request cannot be served. Please ensure the parameters and request type are valid for your account and region.کاشیهای سهبعدی واقعگرایانه در پروژههایی که به یک حساب صورتحساب با آدرس منطقه اقتصادی اروپا (EEA) مرتبط هستند، در دسترس نیستند. برای اطلاعات بیشتر، به تنظیمات API کاشیهای نقشه برای مشتریان EEA مراجعه کنید.
- ۴۲۹: درخواستهای بسیار زیاد
- سهمیه شما تمام شده است. برای افزایش سهمیه خود با پشتیبانی گوگل تماس بگیرید.