Anda dapat meminta detail selengkapnya tentang tempat atau lokasi menarik tertentu 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 (New)
Anda dapat meminta detail tempat dengan memanggil
PlacesClient.fetchPlace()
dan meneruskan objek
FetchPlaceRequest
yang berisi ID tempat dan daftar kolom, serta
parameter opsional:
// 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 (New) 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 (New), Nearby Search (New), atau Autocomplete (New). 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 kolom yang ditampilkan dalam respons.Daftar kolom adalah praktik desain yang baik untuk memastikan Anda tidak meminta data yang tidak diperlukan. Cara ini akan membantu Anda menghindari waktu pemrosesan dan biaya penagihan yang tidak perlu. Daftar ini adalah 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.DISPLAY_NAME
,Place.Field.ID
,Place.Field.PHOTO_METADATAS
,Place.Field.RESOURCE_NAME
Kolom berikut memicu SKU Place Details (Location Only):
Place.Field.ADDRESS_COMPONENTS
,ADR_FORMAT_ADDRESS
,Place.Field.FORMATTED_ADDRESS
,Place.Field.LOCATION
,Place.Field.PLUS_CODE
,Place.Field.SHORT_FORMATTED_ADDRESS
,Place.Field.TYPES
,Place.Field.VIEWPORT
Kolom berikut memicu SKU Place Details (Basic):
Place.Field.ACCESSIBILITY_OPTIONS
,Place.Field.BUSINESS_STATUS
,Place.Field.GOOGLE_MAPS_URI
,Place.Field.ICON_BACKGROUND_COLOR
,Place.Field.ICON_MASK_URL
,Place.Field.PRIMARY_TYPE
,Place.Field.PRIMARY_TYPE_DISPLAY_NAME
,Place.Field.SUB_DESTINATIONS
,Place.Field.UTC_OFFSET
Kolom berikut memicu SKU Place Details (Advanced):
Place.Field.CURRENT_OPENING_HOURS
,Place.Field.CURRENT_SECONDARY_OPENING_HOURS
Place.Field.INTERNATIONAL_PHONE_NUMBER
,Place.Field.NATIONAL_PHONE_NUMBER
Place.Field.OPENING_HOURS
,Place.Field.PRICE_LEVEL
,Place.Field.RATING
,Place.Field.SECONDARY_OPENING_HOURS
,Place.Field.USER_RATING_COUNT
Place.Field.WEBSITE_URI
Kolom berikut memicu SKU Place Details (Preferred):
Place.Field.ALLOWS_DOGS
,Place.Field.CURBSIDE_PICKUP
,Place.Field.DELIVERY
,Place.Field.DINE_IN
,Place.Field.EDITORIAL_SUMMARY
,Place.Field.EV_CHARGE_OPTIONS
,Place.Field.FUEL_OPTIONS
,Place.Field.GOOD_FOR_CHILDREN
,Place.Field.GOOD_FOR_GROUPS
,Place.Field.GOOD_FOR_WATCHING_SPORTS
,Place.Field.LIVE_MUSIC
,Place.Field.MENU_FOR_CHILDREN
,Place.Field.OUTDOOR_SEATING
,Place.Field.PARKING_OPTIONS
,Place.Field.PAYMENT_OPTIONS
,Place.Field.RESERVABLE
,Place.Field.RESTROOM
,Place.Field.REVIEWS
,Place.Field.SERVES_BEER
,Place.Field.SERVES_BREAKFAST
,Place.Field.SERVES_BRUNCH
,Place.Field.SERVES_COCKTAILS
,Place.Field.SERVES_COFFEE
,Place.Field.SERVES_DESSERT
,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, yang ditentukan sebagai nilai kode CLDR dua karakter. Tidak ada nilai default.
Jika nama negara kolom
Place.Field.FORMATTED_ADDRESS
dalam respons cocok denganregionCode
, kode negara akan dihilangkan dariPlace.Field.FORMATTED_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 "The United Kingdom of Great Britain and Northern Ireland"). Parameter ini dapat memengaruhi hasil berdasarkan hukum yang berlaku.
Untuk menetapkan parameter kode wilayah, panggil metode
setRegionCode()
saat mem-build 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 mengetahui informasi selengkapnya, lihat Token sesi.
Untuk menetapkan parameter token sesi, panggil metode
setSessionToken()
saat mem-build objekFetchPlaceRequest
.
Contoh Place Details
Contoh berikut meminta kolom ID
, DISPLAY_NAME
, dan FORMATTED_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.DISPLAY_NAME, Place.Field.FORMATTED_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);