در اینجا چند نکته برای عیبیابی مشکلات رایج ارائه شده است.
چرا شعاع دقت بسیار بزرگ است؟
اگر پاسخ Geolocation مقدار بسیار بالایی را در فیلد دقت نشان دهد، ممکن است سرویس بهجای نقاط Wi-Fi یا برجهای سلولی، براساس IP درخواست، مکانیابی جغرافیایی انجام دهد. اگر سرویس هیچ دکل سلولی یا نقطه دسترسی را شناسایی نکند، ممکن است این نوع پاسخها اتفاق بیفتد.
برای تأیید اینکه سرویس نتوانسته است نقاط دسترسی شما را مکانیابی جغرافیایی کند،
considerIp را در درخواستتان روی false تنظیم کنید. اگر پاسخ 404 باشد، تأیید کردهاید که اشیاء wifiAccessPoints و cellTowers شما نمیتوانند مکانیابی جغرافیایی شوند.
چگونه خطای پاسخ را عیبیابی کنم؟
اگر درخواست شما خطایی ایجاد کند، سیستم بدنه پاسخ خطای قالب استاندارد را برمیگرداند و کد وضعیت HTTP را روی وضعیت خطا تنظیم میکند.
پاسخ خطا حاوی شیئی با یک شیء خطای تکی با کلیدهای زیر است:
code: این مقدار با وضعیت HTTP پاسخ یکسان است.message: شرح کوتاهی از خطا.-
errors: فهرستی از خطاهای رویداده. هر خطا حاوی شناسهای برای نوع خطا (دلیل) و شرح کوتاهی (پیام) است.
برای مثال، ارسال JSON نامعتبر خطای زیر را برمیگرداند:
{
"error": {
"errors": [
{
"domain": "global",
"reason": "parseError",
"message": "Parse Error",
}
],
"code": 400,
"message": "Parse Error"
}
}
جمعآوری اطلاعات آزمایش از دستگاهها
برای آزمایش بیشتر، میتوانید بااستفاده از خدمات مکان داخلی ارائهشده توسط هر پلاتفرم، اطلاعات را از دستگاهتان جمعآوری کنید:
دستگاههای Android: از LocationManager یا Fused Location Provider API استفاده کنید.
دستگاههای iOS: از چارچوب Apple Core Location استفاده کنید.
توضیحات خطا
در اینجا خطاهای احتمالی که ممکن است با آنها مواجه شوید بههمراه شرح آنها آورده شده است.
| استدلال | دامنه | رمز وضعیت HTTP | شرح |
|---|---|---|---|
dailyLimitExceeded |
usageLimits |
403 | از حد روزانه فراتر رفتهاید. |
keyInvalid |
usageLimits |
۴۰۰ | کلید میانای برنامهسازی کاربردی شما برای Geolocation API معتبر نیست. مطمئن شوید که کل کلید را وارد کردهاید و یا API را خریداری کردهاید یا صورتحساب را فعال کردهاید و API را فعال کردهاید تا سهمیه را بدون هزینه دریافت کنید. |
userRateLimitExceeded |
usageLimits |
403 | از حد درخواست که در کنسول Google Cloud پیکربندی کردهاید فراتر رفتهاید. این حد معمولاً بهصورت درخواست در روز، درخواست در هر ۱۰۰ ثانیه، و درخواست در هر ۱۰۰ ثانیه برای هر کاربر تنظیم میشود. باید حد خود را بهگونهای پیکربندی کنید که از مصرف کل سهمیه روزانه توسط یک کاربر یا گروه کوچکی از کاربران جلوگیری شود، درحالیکه همچنان دسترسی معقولی برای همه کاربران فراهم باشد. برای پیکربندی این محدودیتها، محدود کردن استفاده از میانای برنامهسازی کاربردی را ببینید. |
notFound |
geolocation |
404 | درخواست معتبر بود، اما نتیجهای برگردانده نشد. |
parseError |
global |
۴۰۰ | بدنه درخواست JSON معتبر نیست. برای جزئیات مربوط به هر فیلد، به بخش بدنه درخواست مراجعه کنید. |