Bermigrasi ke Place Details (Baru)

Places SDK for iOS mendukung Place Details (Legacy). Jika Anda sudah familiar dengan Places SDK for iOS (Legacy), Place Details (Baru) akan melakukan perubahan berikut:

  • Menggunakan model harga baru. Untuk mengetahui informasi harga semua API, lihat Harga untuk Places SDK for iOS (Baru).

  • Masking kolom wajib diisi. Anda harus menentukan kolom mana yang ingin ditampilkan dalam respons. Tidak ada daftar kolom yang ditampilkan secara default. Jika Anda menghapus daftar ini, metode akan menampilkan error.

  • Untuk membuat permintaan, panggil metode GMSPlacesClient fetchPlaceWithRequest: yang baru.

  • Teruskan ke permintaan:

  • Respons berisi instance yang berisi detail tentang tempat tersebut.GMSPlace Nilai dalam types properti instance GMSPlace kini ditentukan oleh Tabel A dan Tabel B.

  • Instance respons GMSPlace berisi properti reviews baru dari jenis GMSPlaceReview. Saat aplikasi Anda menampilkan informasi yang diperoleh dari instance GMSPlace, seperti foto dan ulasan, aplikasi juga harus menampilkan atribusi yang diperlukan.

    Untuk mengetahui informasi selengkapnya, lihat dokumentasi tentang atribusi.

  • Instance GMSPlace respons berisi fungsi anggota berikut:

    • isOpen menghitung apakah tempat buka pada waktu tertentu.

    • isOpenAtDate menghitung apakah tempat buka pada tanggal tertentu.

    Fungsi ini hanya tersedia jika Anda mengaktifkan Places SDK for iOS. Fungsi ini tidak tersedia jika Anda mengaktifkan Places SDK for iOS (Baru). Untuk mengetahui informasi selengkapnya, lihat Memilih versi SDK.

Contoh permintaan

Dengan Place Details (Baru), Anda membuat permintaan dan meneruskan semua parameter dalam instance GMSFetchPlaceRequest. Contoh 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);
  }
}];