Pemecahan masalah

Error

Jika terjadi error, isi respons error format standar akan ditampilkan dan kode status HTTP akan ditetapkan ke status error.

Respons berisi objek dengan satu objek error dengan kunci berikut:

  • code: Ini sama dengan status HTTP respons.
  • message: Deskripsi singkat tentang error.
  • status: Kode status yang menunjukkan sifat error.

Misalnya, mengirim parameter placeId yang tidak valid akan menampilkan error berikut:

{
  "error": {
    "code": 400,
    "message": "\"placeId\" value is malformed: \"aChIJqaknMTeuEmsRUYCD5Wd9ARM\"",
    "status": "INVALID_ARGUMENT"
  }
}

Kemungkinan kesalahan meliputi:

Kode Status Pesan Pemecahan masalah
400 INVALID_ARGUMENT Kunci yang Anda berikan tidak valid. Kunci API Anda tidak valid atau tidak disertakan dalam permintaan. Pastikan Anda telah menyertakan seluruh kunci, dan Anda telah mengaktifkan API untuk kunci ini.
400 INVALID_ARGUMENT "Parameter \"path\" berisi nilai yang tidak valid: ☃" Permintaan Anda berisi argumen yang tidak valid. Penyebab yang paling mungkin dari error ini adalah:
  • Masalah pada parameter path Anda.
    Pastikan Anda memiliki minimal 1, dan kurang dari 100 poin. Setiap titik harus berupa pasangan angka yang dipisahkan dengan koma, seperti: 48.409114,-123.369158. Poin harus dipisahkan dengan karakter pipa: '|'.
  • Permintaan Anda menyertakan placeId yang tidak valid.
  • Permintaan Anda menyertakan placeId dan path. Hanya satu parameter ini yang dapat ditentukan untuk setiap permintaan.

Error ini tidak akan ditampilkan jika placeId diteruskan untuk jalan yang tidak ada lagi, atau untuk tempat yang bukan jalan.

403 PERMISSION_DENIED Permintaan yang tidak terdaftar diblokir. Lakukan pendaftaran menggunakan Google Developers Console. Permintaan ditolak karena satu atau beberapa alasan berikut:
  • Kunci API tidak ada atau tidak valid.
  • Penagihan belum diaktifkan di akun Anda.
  • Batas penggunaan yang ditentukan sendiri telah terlampaui.
  • Metode pembayaran yang diberikan sudah tidak valid (misalnya, kartu kredit sudah tidak berlaku).

Untuk menggunakan produk Google Maps Platform, penagihan harus diaktifkan di akun Anda, dan semua permintaan harus menyertakan kunci API yang valid. Untuk memperbaikinya, lakukan langkah-langkah berikut:

404 NOT_FOUND HTTPS diperlukan untuk layanan ini. Pastikan Anda mengirim permintaan ke https://roads.googleapis.com/, bukan http://roads.googleapis.com/.
429 RESOURCE_EXHAUSTED Permintaan dibatasi karena batas permintaan project telah tercapai. Anda telah melampaui batas permintaan yang dikonfigurasi di Google Cloud Platform Console. Batas ini biasanya ditetapkan sebagai permintaan per hari, permintaan per 100 detik, dan permintaan per 100 detik per pengguna. Batas ini harus dikonfigurasi untuk mencegah satu atau sekelompok kecil pengguna menghabiskan kuota harian Anda, sekaligus tetap memungkinkan akses yang wajar bagi semua pengguna. Lihat Membatasi Penggunaan API untuk mengonfigurasi batas ini.

Backoff eksponensial

Jika permintaan gagal, Anda harus memastikan bahwa Anda mencoba lagi permintaan dengan backoff eksponensial. Misalnya, jika permintaan gagal sekali, coba lagi setelah satu detik, jika gagal lagi, coba lagi setelah dua detik, lalu empat detik, dan seterusnya. Hal ini memastikan bahwa permintaan yang rusak atau kegagalan skala luas tidak membanjiri server Google, karena banyak klien mencoba mengulangi permintaan dengan sangat cepat.

FAQ Pemecahan Masalah

Masalah penerapan

Seberapa sering saya harus mengambil sampel lokasi kendaraan saya?
Setiap 1-10 detik direkomendasikan untuk hasil fitur tempel ke jalan berkualitas tinggi.
Apakah ada batasan jumlah poin yang dapat saya kirim per kueri?
Ya, kueri dapat memiliki maksimal 100 poin.
Tingkat presisi apa yang harus saya gunakan untuk menyimpan pasangan garis lintang/bujur yang saya ambil?
Untuk memastikan bahwa jalur yang disesuaikan mengikuti jalan di semua tingkat zoom, bahkan pada tingkat zoom maksimum, Anda harus menyimpan pasangan garis lintang/bujur yang disesuaikan dengan presisi 7 angka desimal.
Dapatkah saya menggunakan polyline yang dienkode untuk menampilkan jalur yang disesuaikan?
Polyline yang dienkode hanya ditentukan dengan presisi 5 tempat desimal, yang menghasilkan error sekitar 2 meter. Oleh karena itu, polyline yang dienkode tidak cocok jika Anda ingin jalur yang disesuaikan mengikuti jalan pada tingkat zoom tinggi.

Masalah umum

Beberapa titik tidak di-snap, atau saya memiliki celah di jalur yang di-snap. Bagaimana cara memperbaikinya?
  • Jika Anda mengambil sampel titik pada interval waktu, pastikan titik Anda diambil sampelnya pada interval yang lebih pendek (setiap 1-10 detik). Jika interval yang lebih panjang digunakan (misalnya 60 detik), algoritma penyesuaian ke jalan mungkin tidak dapat menentukan jalan yang dilalui dengan akurasi yang memadai.
  • Jika Anda mengklik peta secara manual untuk membuat titik, Anda dapat dengan mudah membuat jalur dengan sedikit titik atau titik yang jarang yang tidak ditangani dengan baik oleh algoritma penyesuaian. Algoritma penempelan berfungsi paling baik untuk titik yang berdekatan. Coba demo fitur Paskan ke Jalan atau gunakan Pemeriksa jalan untuk menguji jalur Anda.
Mengapa jalur yang disesuaikan saya bergerigi atau sedikit tidak sesuai dengan jalan saat saya melakukan zoom in?
  • Apakah Anda memangkas presisi pasangan lintang/bujur yang disesuaikan sebelum menampilkannya? Menyimpan pasangan lintang/bujur yang disesuaikan dengan presisi kurang dari 7 titik desimal menyebabkan kesalahan presisi saat jalur yang disesuaikan ditampilkan di peta.
  • Apakah Anda menggunakan polyline yang dienkode? Polyline yang dienkode memangkas pasangan lintang/bujur hingga 5 tempat desimal, yang menimbulkan error beberapa meter, sehingga menghasilkan garis yang bergerigi atau sedikit berbeda dari jalan pada tingkat zoom tinggi.

Jika tidak ada satu pun dari hal di atas yang terjadi, petak peta mungkin telah diupdate baru-baru ini, sehingga tidak sinkron dengan indeks jalan yang digunakan untuk penyelarasan. Jika hanya beberapa kueri Anda yang terpengaruh, kemungkinan besar inilah penyebabnya. Karena Google Maps diperbarui secara rutin, hal ini dapat terjadi sesekali, dan dapat lebih sering terjadi jika Anda secara rutin melihat jalur lama di peta (misalnya, jalur yang disesuaikan beberapa minggu lalu). Untuk visualisasi yang optimal, Anda harus menyambungkan kembali jalur lama tepat sebelum menunjukkannya di peta, untuk meminimalkan inkonsistensi antara ubin peta dan indeks jalan yang digunakan untuk penyambungan.

Apa yang dapat menyebabkan batas kecepatan untuk jalan X ditampilkan secara tidak benar?
Batas kecepatan berasal dari beberapa sumber yang berbeda-beda akurasi dan cakupannya. Jika Anda menemukan pola, misalnya batas kecepatan untuk jenis jalan tertentu atau di area tertentu selalu salah, lakukan langkah-langkah berikut untuk memberi tahu kami:
  1. Buka Google Maps di komputer desktop ATAU aplikasi Google Maps untuk Android.
  2. Buka menu samping kiri.
  3. Pilih Kirim masukan. Catatan: Anda mungkin diminta untuk login.
  4. Pilih Edit peta.
  5. Pilih segmen jalan yang ingin Anda edit.
  6. Pilih Berikutnya.
  7. Di kolom "Lainnya", tunjukkan bahwa batas kecepatan salah untuk jalan tersebut.
  8. Pilih Kirim.
Anda juga dapat melaporkan masalah lain di sini (misalnya, jika jalan memiliki nama yang salah, digambar dengan tidak benar, atau ditutup, atau bersifat pribadi).
Mengapa jalur yang disesuaikan saya memotong jalan, bukan mengikuti jalan?
Untuk memperbaiki masalah ini, periksa hal-hal berikut:
  • Pastikan parameter interpolate disetel ke true.
  • Periksa apakah titik data asli Anda diambil sampelnya pada interval yang cukup dekat (setiap 1-10 detik).
Mengapa saya mendapatkan banyak segmen jalan yang ditampilkan di jalur yang disesuaikan untuk jalan yang tidak memiliki perubahan batas kecepatan?
Jika parameter interpolate ditetapkan ke true, kueri sesuaikan-ke-jalan akan menampilkan polyline yang mengikuti jalan di sekitar tikungan, kurva, dan jalan lingkar. Jika jalan berkelok, beberapa segmen jalan akan ditampilkan meskipun batas kecepatan tidak berubah, untuk membuat polyline yang mengikuti geometri jalan dengan cermat.