Places SDK for iOS mendukung Place Details. Jika Anda sudah terbiasa dengan Places SDK for iOS, Place Details versi baru membuat perubahan berikut:
Menggunakan model penetapan harga baru. Guna mengetahui informasi harga untuk semua API, lihat Harga untuk Places SDK for iOS (Baru).
Penyamaran kolom wajib diisi. Anda harus menentukan kolom yang ingin ditampilkan dalam responsnya. Tidak ada daftar default untuk kolom yang ditampilkan. Jika Anda menghilangkan daftar ini, metode akan mengembalikan pesan {i>error<i}.
Untuk membuat permintaan, panggil metode
GMSPlacesClient fetchPlaceWithRequest:
.Meneruskan permintaan:
Sebuah instance dari
GMSFetchPlaceRequest
yang menentukan semua parameter permintaan, seperti ID tempat dan token sesi.Callback jenis
GMSPlaceResultCallback
untuk menangani responsnya.
Respons akan berisi
GMSPlace
instance yang berisi detail tentang tempat. Nilai dalamtypes
dari instanceGMSPlace
sekarang ditentukan oleh Tabel A dan Tabel B.Instance
GMSPlace
respons berisi propertireviews
baru dari jenisGMSPlaceReview
. Saat aplikasi Anda menampilkan informasi yang diperoleh dariGMSPlace
seperti foto dan ulasan, aplikasi juga harus menampilkan atribusi.Untuk informasi selengkapnya, lihat dokumentasi tentang atribusi.
Instance
GMSPlace
respons berisi fungsi anggota berikut:isOpen
menghitung apakah suatu tempat buka pada waktu tertentu atau tidak.isOpenAtDate
menghitung apakah suatu tempat buka pada tanggal tertentu.
Fungsi-fungsi ini hanya tersedia jika Anda mengaktifkan Places SDK for iOS. Fitur ini tidak tersedia saat Anda aktifkan Places SDK for iOS (Baru). Untuk informasi selengkapnya, lihat Memilih versi SDK.
Contoh permintaan
Dengan Place Details (Baru), Anda membuat permintaan dan
meneruskan semua parameter dalam instance GMSFetchPlaceRequest
. Ini
juga menggunakan mask kolom sehingga respons hanya menyertakan nama tampilan
dan URL situs untuk tempat tersebut:
Swift
// A hotel in Saigon with an attribution. let placeID = "ChIJV4k8_9UodTERU5KXbkYpSYs" // Specify the place data types to return. let fields = [GMSPlaceProperty.name, GMSPlaceProperty.website].map {$0.rawValue} // Create the GMSFetchPlaceRequest instance. let fetchPlaceRequest = GMSFetchPlaceRequest(placeID: placeID, placeProperties: fields, sessionToken: nil) client.fetchPlaceWithRequest(fetchPlaceRequest: fetchPlaceRequest, callback: { (place: GMSPlace?, error: Error?) in guard let place, error == nil else { return } print("Place found: \(String(describing: place.name))") })
Objective-C
// A hotel in Saigon with an attribution. NSString *placeID = @"ChIJV4k8_9UodTERU5KXbkYpSYs"; // Specify the place data types to return. NSArray<NSString *> *fields = @[GMSPlacePropertyName, GMSPlacePropertyWebsite]; // Create the GMSFetchPlaceRequest instance. GMSFetchPlaceRequest *fetchPlaceRequest = [[GMSFetchPlaceRequest alloc] initWithPlaceID:placeID placeProperties: fields sessionToken:nil]; [placesClient fetchPlaceWithRequest: fetchPlaceRequest callback: ^(GMSPlace *_Nullable place, NSError *_Nullable error) { if (error != nil) { NSLog(@"An error occurred %@", [error localizedDescription]); return; } else { NSLog(@"Place Found: %@", place.name); NSLog(@"The place URL: %@", place.website); } }];