بارگیری و مدیریت خطا
خطای راهاندازی، کاشی، کلید، مجوز و سهمیه را مدیریت کنید.
این شبیهسازی درخواست شبکه نمیفرستد و سهمیه مصرف نمیکند.
بارگیری و مدیریت خطا#
در نمونه سه slot جدا استفاده شده است: loading برای راهاندازی، error برای شکست راهاندازی همراه تلاش مجدد و tile-error برای شکست بخشی از منابع. خطای جزئی میتواند همزمان با یک نقشهٔ قابل استفاده رخ دهد.
رویدادهای tiles-loading، tiles-loaded و tile-error را جدا از ready بخوانید. مقدار TileState شامل status، loaded و failed است. MapLibre اعلانهای آمادگی منبع و Leaflet نتیجهٔ کاشیهای تصویری را میشمارد؛ این شمارندهها قابل مقایسه نیستند. در MapLibre، راهاندازی مجدد یا تغییر سبک و لایههای زنده شمارندهٔ خطا را بازنشانی میکند.
با ariaLabel کاربرد نقشه را توصیف کنید. دکمههای برنامه برچسب خوانا، فوکوس کیبورد و خروجی متنی مختصات و وضعیت داشته باشند. پیامها را با slot سفارشی کنید.
خطای کلید، دامنه و سهمیه#
رویداد resource-error شیء MapResourceFailure میدهد: نوع kind، پیام امن message، کدهای عددی اختیاری status و code، زمان انتظار retryAfter برحسب ثانیه و پیشنهاد retryable. رویداد error برای راهاندازی و رویدادهای قبلی warning و tile-error برای خطاهای جزئی حفظ شدهاند.
| کد نشان یا HTTP | kind |
اقدام |
|---|---|---|
| 480 / 401 | invalid-key |
کلید وب را بررسی کنید |
| 483 | key-type |
نوع کلید با سرویس سازگار نیست |
| 484 | domain |
دامنهٔ مجاز کلید را اصلاح کنید |
| 485 | service |
دسترسی همان سرویس نقشه، ترافیک یا POI را فعال کنید |
| 481 | quota |
مصرف و سهمیهٔ حساب را بررسی کنید؛ تکرار خودکار مشکل را حل نمیکند |
| 482 / 429 | rate-limit |
با فاصله تلاش کنید و زمان retryAfter را رعایت کنید |
| 403 بدون کد نشان | forbidden |
دسترسی رد شده؛ پاسخ علت دقیقتری مشخص نکرده است |
| 470 / 400 | request |
پارامتر درخواست نامعتبر است |
| 5xx | server |
بعداً با تلاش محدود امتحان کنید |
| خطای اتصال | network |
شبکه یا CORS را بررسی کنید؛ مرورگر همیشه این دو را جدا نمیکند |
| رمزگشایی ناموفق | decode |
سازگاری داده و Codec را بررسی کنید |
| خطای دیگر موتور | unknown |
در محیط توسعه اطلاعات بومی مطمئن را بررسی کنید |
کد پاسخ نشان بر وضعیت عمومی HTTP اولویت دارد. جزئیات عددی و زمان انتظار هنگام انتقال خطا از Worker حفظ میشوند. بدنهٔ خام پاسخ، نشانی درخواست و کلید در رویدادهای عمومی منتشر نمیشوند. تلاش خودکار بیپایان وجود ندارد؛ retry() نقشه را با درخواست صریح شما دوباره میسازد. شمارندههای خطا با تلاش مجدد یا تغییر استایل/لایهٔ زنده پاک میشوند.