Pemecahan masalah

Tetap teratur dengan koleksi Simpan dan kategorikan konten berdasarkan preferensi Anda.

Error

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

Respons ini berisi objek dengan satu objek error dengan kunci berikut:

  • code: Ini sama dengan status HTTP respons.
  • message: Deskripsi singkat 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 telah mengaktifkan API untuk kunci ini.
400 INVALID_ARGUMENT "\"path\" parameter berisi nilai tidak valid: ☃" Permintaan Anda berisi argumen yang tidak valid. Penyebab error ini kemungkinan besar adalah:
  • Ada masalah dengan parameter path.
    Pastikan Anda memiliki setidaknya 1, dan kurang dari 100 poin. Setiap titik harus berupa sepasang angka yang dipisahkan oleh koma, seperti: 48.409114,-123.369158. Titik harus dipisahkan dengan tanda pipa: '|'.
  • Permintaan Anda mencakup placeId yang tidak valid.
  • Permintaan Anda mencakup placeId dan path. Hanya salah satu dari parameter ini yang dapat ditentukan untuk setiap permintaan.

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

403 PERMISSION_DENIED Permintaan yang tidak terdaftar diblokir. Harap mendaftar 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 ditetapkan sendiri telah terlampaui.
  • Metode pembayaran yang diberikan sudah tidak valid (misalnya kartu kredit yang 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 mengirimkan permintaan ke https://roads.googleapis.com/, bukan http://roads.googleapis.com/.
429 RESOURCE_EXHAUSTED Permintaan dibatasi karena batas permintaan project 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, sambil tetap mengizinkan akses yang wajar untuk semua pengguna. Lihat Membatasi Penggunaan API untuk mengonfigurasi batas ini.

Backoff eksponensial

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

FAQ Pemecahan Masalah

Masalah penerapan

Pada frekuensi mana saya harus mengambil sampel lokasi kendaraan saya?
Setiap 1-10 detik direkomendasikan untuk hasil snap-to-road berkualitas tinggi.
Apakah ada batas jumlah poin yang dapat saya kirimkan per kueri?
Ya, kueri dapat memiliki maksimal 100 poin.
Tingkat presisi apa yang harus saya gunakan untuk menyimpan pasangan garis lintang/bujur yang dipaskan?
Untuk memastikan bahwa jalur yang dipaskan mengikuti jalan di semua tingkat zoom, meski pada tingkat zoom maksimum, Anda harus menyimpan pasangan garis lintang/bujur yang dipaskan di 7 presisi desimal.
Dapatkah saya menggunakan polyline yang dienkode untuk menampilkan jalur yang diikat?
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 dipaskan untuk mengikuti jalan pada tingkat zoom tinggi.

Masalah umum

Beberapa titik tidak dapat dipaskan, atau saya memiliki celah di jalur yang ditangkap. Bagaimana cara memperbaikinya?
  • Jika Anda mengambil sampel titik pada interval waktu, pastikan titik Anda diambil sampelnya dengan interval yang lebih pendek (setiap 1-10 detik). Jika interval yang lebih panjang digunakan (misalnya, 60 detik), algoritme snap-to-road mungkin tidak dapat menentukan jalan yang ditempuh dengan akurasi yang memadai.
  • Jika Anda mengklik peta secara manual untuk membuat titik, sangat mudah untuk membuat jalur dengan sedikit titik atau titik renggang yang tidak dapat ditangani algoritme dengan baik. Algoritme penyematan paling cocok untuk titik-titik yang berdekatan. Coba demo Snap to Roads atau gunakan Roads inspector untuk menguji jalur Anda.
Mengapa jalur yang dipaskan tertekuk atau sedikit menjauh dari jalan saat saya memperbesarnya?
  • Apakah Anda memotong presisi pasangan garis lintang/bujur yang dipaskan sebelum menampilkannya? Menyimpan pasangan garis lintang/bujur yang dipaskan pada presisi kurang dari 7 titik desimal akan menyebabkan error presisi saat jalur yang dipaskan ditampilkan pada peta.
  • Apakah Anda menggunakan polyline yang dienkode? Polyline yang dienkode akan memotong pasangan garis lintang/bujur menjadi 5 tempat desimal, yang menyebabkan error beberapa meter sehingga menghasilkan garis yang bergerigi atau sedikit terputus dari jalan pada tingkat zoom tinggi.

Jika tidak satu pun di atas terjadi, ubin peta mungkin telah diperbarui baru-baru ini dan menyebabkannya tidak sinkron dengan indeks jalan yang digunakan untuk penunjukan. Jika hanya beberapa kueri Anda yang terpengaruh, kemungkinan penyebabnya adalah hal tersebut. Karena Google Maps diupdate secara berkala, hal ini terkadang dapat terjadi, dan dapat terjadi lebih sering jika Anda melihat jalur lama di peta secara rutin (misalnya, jalur yang diikat beberapa minggu yang lalu). Untuk visualisasi yang optimal, Anda harus mengambil kembali jalur lama sebelum menampilkannya di peta, untuk mengurangi inkonsistensi antara ubin peta dan indeks jalan yang digunakan untuk snap.

Apa yang dapat menyebabkan batas kecepatan untuk jalan X ditampilkan dengan tidak benar?
Batas kecepatan berasal dari beberapa sumber yang bervariasi dalam akurasi dan cakupan. Jika Anda menemukan pola, misalnya batas kecepatan untuk jenis jalan tertentu atau di area tertentu secara konsisten salah, lakukan langkah-langkah berikut untuk memberi tahu kami:
  1. Buka Google Maps di komputer desktop Anda ATAU aplikasi Google Maps untuk Android.
  2. Buka menu sebelah 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 untuk jalan tersebut salah.
  8. Pilih Kirim.
Anda juga dapat melaporkan masalah lain di sini (misalnya jika jalan memiliki nama yang salah, salah digambar, atau ditutup, atau pribadi).
Mengapa jalur yang dipaskan dari tikungan, bukan mengikuti jalan?
Untuk memperbaiki masalah ini, periksa hal-hal berikut:
  • Pastikan parameter interpolate disetel ke true.
  • Pastikan sampel titik data asli Anda diambil pada interval yang cukup dekat (setiap 1-10 detik).
Mengapa saya mendapatkan banyak segmen jalan yang ditampilkan di jalur yang ditangkap untuk jalan tanpa perubahan batas kecepatan?
Jika parameter interpolate disetel ke true, kueri penunjuk posisi akan menampilkan polyline yang mengikuti jalan di sekitar sudut, kelok, dan bundaran. Jika kurva jalan, beberapa segmen jalan akan ditampilkan meskipun batas kecepatan tidak berubah, untuk membuat polyline yang hampir mengikuti geometri jalan.