Berikut beberapa tips untuk memecahkan masalah umum.
Mengapa radius akurasi sangat besar?
Jika respons Geolocation Anda menampilkan nilai yang sangat tinggi di kolom akurasi, layanan mungkin melakukan geolokasi berdasarkan IP permintaan, bukan titik WiFi atau menara seluler. Jenis respons ini dapat terjadi jika layanan tidak mengenali menara seluler atau titik akses.
Untuk mengonfirmasi bahwa layanan tidak dapat melakukan geolokasi titik akses Anda, tetapkan considerIp ke false dalam permintaan Anda. Jika responsnya adalah 404, Anda telah mengonfirmasi bahwa objek wifiAccessPoints dan cellTowers tidak dapat dilokalisasi.
Bagaimana cara memecahkan masalah error respons?
Jika permintaan Anda menghasilkan error, sistem akan menampilkan isi respons error format standar dan menetapkan kode status HTTP ke status error.
Respons error berisi objek dengan satu objek error dengan kunci berikut:
code: Ini sama dengan status HTTP respons.message: Deskripsi singkat tentang error.errors: Daftar error yang terjadi. Setiap error berisi ID untuk jenis error (alasan) dan deskripsi singkat (pesan).
Misalnya, mengirim JSON yang tidak valid akan menampilkan error berikut:
{
"error": {
"errors": [
{
"domain": "global",
"reason": "parseError",
"message": "Parse Error",
}
],
"code": 400,
"message": "Parse Error"
}
}
Mengumpulkan informasi pengujian dari perangkat
Untuk pengujian tambahan, Anda dapat mengumpulkan informasi dari perangkat menggunakan layanan lokasi bawaan yang ditawarkan oleh setiap platform:
Perangkat Android: Gunakan LocationManager atau Fused Location Provider API.
Perangkat iOS: Gunakan framework Apple Core Location.
Deskripsi error
Berikut adalah kemungkinan error yang mungkin Anda temui beserta deskripsinya.
| Alasan | Domain | Kode Status HTTP | Deskripsi |
|---|---|---|---|
dailyLimitExceeded |
usageLimits |
403 | Anda telah melampaui batas harian. |
keyInvalid |
usageLimits |
400 | Kunci API Anda tidak valid untuk Geolocation API. Pastikan untuk menyertakan seluruh kunci, dan Anda telah membeli API atau telah mengaktifkan penagihan dan mengaktifkan API untuk mendapatkan kuota tanpa biaya. |
userRateLimitExceeded |
usageLimits |
403 | Anda telah melampaui batas permintaan yang dikonfigurasi di konsol Google Cloud. Batas ini biasanya ditetapkan sebagai permintaan per hari, permintaan per 100 detik, dan permintaan per 100 detik per pengguna. Anda harus mengonfigurasi batas untuk mencegah satu atau sekelompok kecil pengguna menghabiskan kuota harian, sekaligus tetap mengizinkan akses yang wajar ke semua pengguna. Lihat Membatasi Penggunaan API untuk mengonfigurasi batas ini. |
notFound |
geolocation |
404 | Permintaan valid, namun tidak ada hasil yang dikembalikan. |
parseError |
global |
400 | Tubuh permintaan bukan JSON yang valid. Lihat bagian Isi Permintaan untuk mengetahui detail setiap kolom. |