Anda dapat meminta detail selengkapnya tentang tempat usaha atau lokasi menarik tertentu dengan menggunakan ID tempat dan membuat permintaan Place Details (Baru). Place Details (Baru) menampilkan informasi yang lebih komprehensif tentang tempat yang ditunjukkan, seperti alamat lengkap, nomor telepon, rating pengguna, dan ulasan.
Ada banyak cara untuk mendapatkan ID tempat. Anda dapat menggunakan:
Permintaan Place Details (Baru)
Anda dapat meminta detail tempat dengan memanggil PlacesClient.fetchPlace()
dan meneruskan objek FetchPlaceRequest
yang berisi ID tempat dan daftar kolom, serta parameter opsional apa pun:
// Define a place ID.
final String placeId = "INSERT_PLACE_ID_HERE";
// Specify the list of fields to return.
final List<Place.Field> placeFields = Arrays.asList("INSERT_PLACE_FIELDS_HERE");
// Construct a request object, passing the place ID and field list.
final FetchPlaceRequest request = FetchPlaceRequest.newInstance(placeId, placeFields);
// Pass the request object and make the request
Task<FetchPlaceResponse> placeTask = placesClient.fetchPlace(request);
Respons Place Details (Baru)
Place Details (Baru) menampilkan data dalam bentuk objek
Place
, yang hanya menyertakan kolom yang Anda minta menggunakan daftar
kolom. Hasil data tempat tidak boleh kosong, sehingga hanya hasil tempat dengan data yang ditampilkan (misalnya, jika tempat yang diminta tidak memiliki foto, kolom foto tidak akan ada dalam hasil).
Untuk mengakses kolom data, panggil metode yang sesuai.
Misalnya, untuk mengakses nama tempat, panggil getName()
.
Parameter wajib
Parameter yang diperlukan untuk
FetchPlaceRequest
adalah:
-
ID Tempat
ID tekstual yang secara unik mengidentifikasi tempat, yang ditampilkan dari Text Search (Baru), Nearby Search (Baru), atau Autocomplete (Baru). Untuk informasi selengkapnya tentang ID tempat, lihat ringkasan ID tempat.
-
Daftar kolom
Saat meminta tempat, Anda harus menentukan data tempat yang akan ditampilkan. Untuk melakukannya, teruskan daftar nilai
Place.Field
yang menentukan data yang akan ditampilkan. Tidak ada daftar default untuk kolom yang ditampilkan dalam respons.Daftar kolom adalah praktik desain yang baik untuk memastikan Anda tidak meminta data yang tidak perlu, yang akan membantu menghindari waktu pemrosesan dan biaya penagihan yang tidak perlu.Daftar ini merupakan pertimbangan penting karena memengaruhi biaya untuk setiap permintaan. Untuk informasi selengkapnya, lihat Penggunaan dan Penagihan.
Tentukan satu atau beberapa kolom berikut:
Kolom berikut memicu SKU Place Details (IDs Only):
Place.Field.ID
,Place.Field.NAME
,Place.Field.PHOTO_METADATAS
Kolom berikut memicu SKU Place Details (Location Only):
Place.Field.ADDRESS_COMPONENTS
,Place.Field.ADDRESS
,Place.Field.LAT_LNG
,Place.Field.PLUS_CODE
,Place.Field.TYPES
,Place.Field.VIEWPORT
Kolom berikut memicu SKU Place Details (Basic):
Place.Field.BUSINESS_STATUS
,Place.Field.ICON_BACKGROUND_COLOR
,Place.Field.ICON_URL
,Place.Field.UTC_OFFSET
,Place.Field.WHEELCHAIR_ACCESSIBLE_ENTRANCE
Kolom berikut memicu SKU Place Details (Advanced):
Place.Field.CURRENT_OPENING_HOURS
,Place.Field.SECONDARY_OPENING_HOURS
,Place.Field.PHONE_NUMBER
,Place.Field.PRICE_LEVEL
,Place.Field.RATING
,Place.Field.OPENING_HOURS
,Place.Field.USER_RATINGS_TOTAL
,Place.Field.WEBSITE_URI
Kolom berikut memicu SKU Place Details (Preferred):
Place.Field.CURBSIDE_PICKUP
,Place.Field.DELIVERY
,Place.Field.DINE_IN
,Place.Field.EDITORIAL_SUMMARY
,Place.Field.RESERVABLE
,Place.Field.REVIEWS
,Place.Field.SERVES_BEER
,Place.Field.SERVES_BREAKFAST
,Place.Field.SERVES_BRUNCH
,Place.Field.SERVES_DINNER
,Place.Field.SERVES_LUNCH
,Place.Field.SERVES_VEGETARIAN_FOOD
,Place.Field.SERVES_WINE
,Place.Field.TAKEOUT
Parameter opsional
Parameter opsional untuk
FetchPlaceRequest
adalah:
Kode wilayah
Kode wilayah yang digunakan untuk memformat respons, ditetapkan sebagai nilai kode CLDR dua karakter. Tidak ada nilai default.
Jika nama negara kolom
Place.Field.ADDRESS
dalam respons cocok denganregionCode
, kode negara akan dihapus dariPlace.Field.ADDRESS
.Sebagian besar kode CLDR identik dengan kode ISO 3166-1, dengan beberapa pengecualian. Misalnya, ccTLD Inggris Raya adalah "uk" (.co.uk), sedangkan kode ISO 3166-1-nya adalah "gb" (secara teknis untuk entitas "Inggris Raya dan Irlandia Utara"). Parameter ini dapat memengaruhi hasil berdasarkan hukum yang berlaku.
Untuk menetapkan parameter kode wilayah, panggil metode
setRegionCode()
saat membuat objekFetchPlaceRequest
.-
Token sesi
Token sesi adalah string buatan pengguna yang melacak panggilan Autocomplete (Baru) sebagai "sesi". Autocomplete (Baru) menggunakan token sesi untuk mengelompokkan fase kueri dan pemilihan tempat dari penelusuran pelengkapan otomatis pengguna ke dalam sesi terpisah untuk tujuan penagihan. Token sesi diteruskan ke panggilan Place Details (Baru) yang mengikuti panggilan Autocomplete (Baru). Untuk informasi selengkapnya, lihat Token sesi.
Untuk menetapkan parameter token sesi, panggil metode
setSessionToken()
saat membuat objekFetchPlaceRequest
.
Contoh Place Details
Contoh berikut meminta kolom ID
, NAME
, dan ADDRESS
untuk
Empire State Building di New York City.
// Define a place ID.
final String placeId = "ChIJaXQRs6lZwokRY6EFpJnhNNE";
// Specify the list of fields to return.
final List<Place.Field> placeFields = Arrays.asList(Place.Field.ID, Place.Field.NAME, Place.Field.ADDRESS);
// Construct a request object, passing the place ID and field list.
final FetchPlaceRequest request = FetchPlaceRequest.newInstance(placeId, placeFields);
// Pass the request object and make the request
Task<FetchPlaceResponse> placeTask = placesClient.fetchPlace(request);