Anda dapat menggunakan layanan Places dan Geocoding API dengan Maps SDK for Android untuk menelusuri wilayah, dan mendapatkan informasi selengkapnya tentang tempat. Layanan Places dan Geocoding API adalah alternatif yang efektif dan stabil untuk mendapatkan ID tempat. Jika sudah menggunakan ID tempat, Anda dapat menggunakan kembali ID tersebut dengan gaya visual berbasis data untuk batas.
Tambahkan layanan Places dan Geocoding ke aplikasi Maps SDK for Android dengan cara berikut:
- Places SDK for Android adalah library Android yang berisi metode untuk menampilkan informasi tentang tempat.
- Places API menampilkan informasi tentang tempat menggunakan permintaan HTTP.
- Class Geocoder dapat melakukan geocoding dan geocoding terbalik secara dinamis dari input pengguna.
- Geocoding API memungkinkan Anda melakukan geocoding pada alamat statis yang diketahui.
Menggunakan layanan Places
Menggunakan Text Search (Baru) untuk menemukan ID tempat
Anda dapat menggunakan REST API Text Search (New) di Places API untuk mendapatkan ID tempat yang menyertakan data wilayah dengan menentukan places.id
di mask kolom. Penggunaan
Text Search (Baru) untuk meminta ID tempat hanya
tidak dikenai biaya. Pelajari lebih lanjut.
Misalnya, untuk mendapatkan ID tempat untuk Trinidad, CA, Anda dapat melakukan panggilan API berikut:
curl -X POST -d '{ "textQuery" : "Trinidad, CA" }' \ -H 'Content-Type: application/json' -H 'X-Goog-Api-Key: API_KEY' \ -H 'X-Goog-FieldMask: places.id' \ 'https://places.googleapis.com/v1/places:searchText'
Menggunakan Place Autocomplete untuk menemukan wilayah
Layanan Places Autocomplete
di Places SDK for Android menyediakan cara yang mudah bagi
pengguna Anda untuk menelusuri wilayah. Untuk mengonfigurasi layanan Places Autocomplete agar
hanya menampilkan wilayah, gunakan
AutocompleteSupportFragment.setTypesFilter(List)
untuk menyetel filter jenis ke PlaceTypes.REGIONS
.
Mendapatkan detail tempat untuk suatu wilayah
Layanan Place Details di Places SDK for Android menampilkan data untuk suatu wilayah yang dapat sangat berguna. Misalnya, Anda dapat:
- Menelusuri ID tempat batas berdasarkan nama tempat.
- Mendapatkan area tampilan untuk zoom hingga batas.
- Mendapatkan jenis fitur untuk batas (misalnya,
locality
). - Mendapatkan alamat berformat, yang me-resolve ke "Place Name, State, Country" di wilayah Amerika Serikat (misalnya, "Ottumwa, IA, USA").
- Mendapatkan data bermanfaat lainnya seperti foto.
Menggunakan Geocoding API
Geocoding API memungkinkan Anda mengonversi alamat menjadi koordinat lintang dan bujur serta ID Tempat, atau mengonversi koordinat lintang dan bujur atau ID Tempat menjadi alamat. Penggunaan berikut dapat digabungkan dengan gaya visual berbasis data untuk batas:
- Gunakan Geocoding untuk mendapatkan area tampilan untuk suatu wilayah.
- Terapkan pemfilteran komponen ke panggilan Geocoding Anda guna mendapatkan ID tempat untuk wilayah administratif 1-4, lokalitas, atau kode pos.
- Gunakan geocoding terbalik untuk menemukan ID tempat berdasarkan koordinat lintang dan bujur, atau bahkan menampilkan ID tempat untuk semua komponen di lokasi tertentu.
Contoh berikut menggunakan alamat (di-escape URL) untuk membuat permintaan ke Geocoding API:
https://maps.googleapis.com/maps/api/geocode/json?address=1600%20Amphitheatre%20Pkwy%20Mountain%20View%20CA&key=YOUR_API_KEY
Anda dapat menggunakan geocoding terbalik untuk menemukan ID tempat. Contoh fungsi layanan Geocoding berikut menampilkan ID tempat untuk semua komponen alamat pada koordinat lintang dan bujur yang ditentukan:
https://maps.googleapis.com/maps/api/geocode/json?latlng=41.864182,-87.676930&key=YOUR_API_KEY
Gunakan geocoding terbalik dengan pemfilteran komponen guna mendapatkan komponen alamat untuk satu atau beberapa jenis berikut di lokasi yang ditentukan:
administrativeArea
country
locality
postalCode
Contoh fungsi berikutnya menunjukkan penggunaan layanan Geocoding, yang menambahkan pembatasan
komponen dengan geocoding terbalik untuk mendapatkan semua komponen alamat di
lokasi yang ditentukan hanya untuk jenis locality
:
https://maps.googleapis.com/maps/api/geocode/json?latlng=41.864182,-87.676930&result_type=locality&key=YOUR_API_KEY