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);