Geocoding adalah proses mengonversi alamat (seperti alamat) menjadi koordinat geografis (lintang dan bujur) yang dapat Anda gunakan untuk menempatkan penanda di peta, atau memosisikan peta. Fokus dokumen ini adalah untuk mengklarifikasi pertimbangan yang terlibat saat melakukan geocoding alamat. Panduan ini menjelaskan kapan waktu yang optimal untuk menggunakan Geocoding API dan kapan waktu yang tepat untuk menggunakan layanan Place Autocomplete Places API.
Secara umum, gunakan Geocoding API saat melakukan geocoding alamat lengkap (misalnya, "48 Pirrama Rd, Pyrmont, NSW, Australia"). Gunakan layanan Place Autocomplete Places API saat melakukan geocoding pada alamat yang ambigu (tidak lengkap) atau untuk aplikasi yang sensitif terhadap latensi, seperti saat merespons input pengguna.
Kasus penggunaan dan saran API
| Kasus penggunaan dan saran API | |
|---|---|
| Kedatangan fisik, pemilihan tujuan lanjutan, pengiriman jarak jauh, penjemputan/pengantaran transportasi online, pintu masuk gedung, atau navigasi kampus | Gunakan metode Search for destinations (SearchDestinations) di Geocoding API v4 untuk mengambil pintu masuk bangunan, titik navigasi yang dapat dirutekan, garis batas bangunan, dan tempat terkenal di sekitar. Lihat Memilih metode geocoding. |
| Merespons input pengguna secara real time (termasuk alamat yang ambigu, tidak lengkap, berformat buruk, atau salah eja yang dimasukkan oleh pengguna) | Gunakan layanan Place Autocomplete Places API untuk mendapatkan ID tempat, lalu panggil SearchDestinations (untuk detail tingkat hiperlokal) atau GeocodePlace (untuk koordinat dasar). |
| Sistem otomatis yang memproses alamat pos yang lengkap dan tidak ambigu (misalnya, “48 Pirrama Rd, Pyrmont, NSW, Australia”) | Gunakan layanan web Geocoding API v4 (SearchDestinations untuk detail hiperlokal atau GeocodeAddress untuk pencarian koordinat). |
| Sistem otomatis yang memproses kueri ambigu (misalnya, alamat yang tidak lengkap, berformat buruk, atau salah eja) | Merekomendasikan sistem otomatis untuk menggunakan layanan web Geocoding API. Namun, sistem otomatis dengan tingkat kueri ambigu, tidak lengkap, atau salah eja yang tinggi yang berasal dari input pengguna dapat memperoleh manfaat dari penambahan widget Place Autocomplete interaktif untuk memungkinkan pengguna memilih hasil, sehingga menghindari salah eja alamat. |
| Masalah latensi menggunakan Directions API (Lama) atau Distance Matrix API (Lama), dengan tempat asal, tujuan, atau titik jalan yang ditentukan sebagai string alamat | Kurangi latensi geocoding dengan menggunakan layanan Place Autocomplete Places API untuk mendapatkan ID tempat, lalu teruskan ID Tempat ke Directions API (Lama) atau Distance Matrix API (Lama). |
Merespons input pengguna
Aplikasi yang merespons input pengguna secara real-time memiliki dua pertimbangan utama yang memengaruhi pilihan API:
- Input pengguna umumnya melibatkan memasukkan alamat secara progresif (seperti "123 Main Street"), sehingga kemampuan untuk melakukan geocoding pada alamat yang tidak lengkap dan ambigu akan bermanfaat karena memungkinkan pengguna mendapatkan hasil lebih cepat.
- Aplikasi yang merespons masukan pengguna sangat sensitif pada latensi.
Kedua pertimbangan ini menjadikan layanan Place Autocomplete di Places API ideal untuk kasus penggunaan merespons input pengguna. Place Autocomplete dirancang untuk menampilkan beberapa opsi yang memungkinkan dan memungkinkan pengguna memilih di antara opsi tersebut. Places API dapat dibatasi untuk hanya menelusuri geocode atau alamat, sekaligus mengecualikan bisnis. Selain itu, fungsi pencarian pelengkapan otomatis dapat dibiaskan untuk menampilkan hasil yang spesifik untuk suatu lokasi. Places API menampilkan ID tempat yang dapat diteruskan sebagai lokasi yang sepenuhnya tidak ambigu ke layanan web Geocoding API, yang kemudian menampilkan detail alamat lengkap, dan melakukan geocoding pada alamat tersebut menjadi latlng. ID Tempat juga dapat diteruskan ke API lain, seperti Directions API (Lama) dan Distance Matrix API (Lama) (lihat Mengurangi latensi).
Geocoding alamat di Geocoding API memiliki latensi yang jauh lebih tinggi, dan juga menghasilkan hasil yang kurang akurat untuk kueri yang tidak lengkap atau ambigu, sehingga tidak direkomendasikan untuk aplikasi yang harus merespons input pengguna secara real time.
Dapatkan informasi selengkapnya tentang layanan Place Autocomplete untuk Android, iOS, JavaScript, dan Places API.
Sistem otomatis
Sistem otomatis yang memproses alamat pos yang lengkap dan tidak ambigu: Kueri yang tidak ambigu seperti string alamat pos lengkap (misalnya, "48 Pirrama Rd, Pyrmont, NSW, Australia") paling baik ditangani oleh layanan web Geocoding API. Backend geocoding alamat memberikan cakupan alamat yang lebih luas secara global, dan dioptimalkan untuk hasil berkualitas tinggi dengan jenis kueri yang lengkap dan tidak ambigu ini.
Sistem otomatis yang memproses kueri ambigu: Kueri ambigu adalah kueri yang berisi alamat dengan format yang buruk, alamat yang tidak lengkap, atau kesalahan ejaan. Untuk sistem otomatis, sebaiknya gunakan layanan web Geocoding API. Namun, Geocoding API tidak dirancang untuk menangani kueri yang ambigu dan mungkin menghasilkan hasil yang kurang akurat atau tidak ada hasil sebagai respons terhadap kueri yang ambigu. Jika sistem otomatis Anda memproses kueri ambigu dalam jumlah besar yang berasal dari input pengguna, Anda mungkin akan mendapatkan manfaat dengan menambahkan elemen interaktif ke aplikasi menggunakan layanan Place Autocomplete di Places API, karena layanan ini dirancang untuk menampilkan beberapa kemungkinan opsi dan memungkinkan pengguna memilih di antara opsi tersebut. Places API menampilkan ID tempat yang dapat diteruskan sebagai lokasi yang sepenuhnya tidak ambigu ke layanan web Geocoding API, yang kemudian menampilkan detail alamat lengkap, dan melakukan geocoding pada alamat tersebut menjadi latlng. Dapatkan informasi selengkapnya tentang layanan Place Autocomplete untuk Android, iOS, JavaScript, dan Places API.
Mengurangi latensi untuk Directions API (Lama) dan Distance Matrix API (Lama)
Jika tempat asal, tujuan, atau titik jalan ditentukan sebagai string alamat, Directions API (Lama) dan Distance Matrix API (Lama) menggunakan backend yang sama dengan Geocoding API untuk melakukan geocoding pada alamat ini sebelum menghitung rute. Hal ini akan meningkatkan latensi secara signifikan dibandingkan dengan menentukan lokasi yang sama sebagai latlng atau ID tempat.
Jika aplikasi Anda menggunakan Directions API (Lama) atau Distance Matrix API (Lama) dalam situasi yang sensitif terhadap latensi seperti merespons input pengguna, dan titik awal, tujuan, atau titik jalan Anda awalnya ditentukan sebagai string alamat, sebaiknya minimalkan latensi dengan menggunakan layanan Place Autocomplete dari Places API untuk mengonversi string alamat menjadi ID tempat, lalu teruskan ID tempat ke Directions API (Lama) atau Distance Matrix API (Lama). Dapatkan informasi selengkapnya tentang layanan Place Autocomplete untuk Android, iOS, JavaScript, dan Places API. Lihat juga contoh JavaScript Place Autocomplete dan rute.
Kesimpulan
Bergantung pada kasus penggunaan Anda, Anda dapat menggunakan Geocoding API saja atau menggabungkannya dengan layanan Place Autocomplete. Dengan begitu, Anda dapat membangun aplikasi yang menawarkan hasil geocoding yang akurat dan latensi yang lebih rendah.
Mengelola error dan percobaan ulang
Jika Anda menerima respons UNKNOWN_ERROR, respons ini disebabkan oleh error sementara
dan sebaiknya ditangani dengan mencoba lagi setelah beberapa saat. Sebaiknya gunakan
library klien layanan web Google Maps Platform yang menyertakan logika percobaan ulang dan mendukung autentikasi Paket Premium Google Maps Platform.
Klien Java,
Klien Python,
Klien Go,
dan Klien Node.js
untuk Layanan Google Maps adalah library klien yang didukung komunitas, tersedia untuk didownload
dan kontribusi di GitHub, tempat Anda juga akan menemukan petunjuk penginstalan dan
kode contoh.
Jika Anda mendapatkan kode status OVER_QUERY_LIMIT sebagai respons, berarti Anda telah melampaui batas penggunaan untuk API tersebut. Sebaiknya
Anda mencoba
strategi pengoptimalan penggunaan ini.