Anda dapat menggunakan layanan Places dan Geocoding API dengan Maps SDK for Android untuk menelusuri wilayah, dan mendapatkan informasi lebih lanjut 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.
Menambahkan 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 bisa melakukan geocoding dan membalikkan geocode 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 dikenakan
tanpa biaya. Pelajari lebih lanjut.
Misalnya, guna mendapatkan ID tempat untuk Trinidad, CA, Anda dapat membuat hal berikut Panggilan API:
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
Place Autocomplete
di Places SDK for Android menyediakan cara yang mudah untuk
pengguna Anda menelusuri wilayah. Untuk mengonfigurasi layanan Place Autocomplete agar
hanya menampilkan wilayah, gunakan
AutocompleteSupportFragment.setTypesFilter(List)
untuk menetapkan 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
). - Dapatkan alamat berformat, yang ditetapkan menjadi "Nama Tempat, Negara Bagian, Negara" inci 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 melakukan konversi koordinat lintang dan bujur atau ID Tempat ke 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.
- Menggunakan geocoding terbalik untuk menemukan ID tempat menurut lintang dan bujur koordinat, atau bahkan mengembalikan ID tempat untuk semua komponen dalam lokasi HTTP/HTTPS.
Contoh berikut menggunakan alamat (url-di-escape) 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 Geocoding berikut fungsi layanan menampilkan ID tempat untuk semua komponen alamat di 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