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 bisa 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 Text Search (Baru)
REST API di Places API untuk mendapatkan ID tempat yang mencakup wilayah
data dengan menentukan
places.id
dalam mask kolom. Penggunaan Text Search (Baru) untuk meminta hanya ID tempat tidak dikenai 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 Places Autocomplete agar
menampilkan region saja, 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 (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