Place Details

Tetap teratur dengan koleksi Simpan dan kategorikan konten berdasarkan preferensi Anda.
Pilih platform: Android iOS JavaScript Layanan Web

Places SDK for iOS memberikan aplikasi Anda informasi lengkap tentang tempat, termasuk nama dan alamat tempat, lokasi geografis yang ditentukan sebagai koordinat lintang/bujur, jenis tempat (seperti klub malam, toko hewan peliharaan, museum), dan lainnya. Untuk mengakses informasi ini bagi tempat tertentu, Anda dapat menggunakan ID tempat, yakni ID stabil yang secara unik mengidentifikasi tempat.

Detail tempat

Class GMSPlace menyediakan informasi tentang tempat tertentu. Anda bisa mendapatkan objek GMSPlace dengan cara berikut:

Kolom tempat

Saat meminta tempat, Anda harus menentukan jenis data tempat yang akan ditampilkan. Untuk melakukannya, teruskan GMSPlaceField, dengan menentukan jenis data yang akan ditampilkan. Pertimbangan ini penting, karena akan memengaruhi biaya untuk setiap permintaan. Karena hasil data tempat tidak boleh kosong, hanya hasil tempat dengan data yang ditampilkan (misalnya, jika tempat yang diminta tidak memiliki foto, kolom photos tidak akan ada dalam hasil). Anda dapat menentukan satu atau beberapa kolom berikut:

  • GMSPlaceFieldName
  • GMSPlaceFieldPlaceID
  • GMSPlaceFieldPlusCode
  • GMSPlaceFieldBusinessStatus
  • GMSPlaceFieldCoordinate
  • GMSPlaceFieldOpeningHours
  • GMSPlaceFieldPhoneNumber
  • GMSPlaceFieldFormattedAddress
  • GMSPlaceFieldRating
  • GMSPlaceFieldPriceLevel
  • GMSPlaceFieldTypes
  • GMSPlaceFieldWebsite
  • GMSPlaceFieldViewport
  • GMSPlaceFieldAddressComponents
  • GMSPlaceFieldPhotos
  • GMSPlaceFieldUserRatingsTotal
  • GMSPlaceFieldIconImageURL
  • GMSPlaceFieldIconBackgroundColor
  • GMSPlaceFieldUTCOffsetMinutes
  • GMSPlaceFieldAll

Pelajari kolom tempat lebih lanjut. Untuk informasi selengkapnya tentang cara penagihan permintaan data Tempat, lihat Penggunaan dan Penagihan.

Class GMSPlace dapat berisi data tempat berikut:

  • name – Nama tempat.
  • placeID – ID tekstual untuk tempat. Baca selengkapnya tentang ID tempat di bagian lain halaman ini.
  • coordinate – Lokasi geografis tempat tersebut, yang ditetapkan sebagai koordinat lintang dan bujur.
  • businessStatus – Status operasional tempat, jika berupa bisnis. Class dapat berisi salah satu dari nilai berikut: GMSBusinessStatusOperational, GMSBusinessStatusClosedTemporarily, GMSBusinessStatusClosedPermanently, GMSBusinessStatusUnknown.
  • phoneNumber – Nomor telepon tempat, dalam format internasional.
  • formattedAddress – Alamat yang dapat dibaca manusia untuk lokasi ini.

    Sering kali alamat ini sama dengan alamat pos. Perhatikan, beberapa negara, seperti Kerajaan Inggris, tidak mengizinkan distribusi alamat pos sebenarnya karena adanya pembatasan pemberian lisensi.

    Alamat yang diformat secara logis terdiri dari satu atau beberapa komponen alamat. Misalnya, alamat "111 8th Avenue, New York, NY" terdiri atas komponen berikut: "111" (nomor jalan), "8th Avenue" (rute), "New York" (kota), dan "NY" (negara bagian AS).

    Jangan mengurai alamat berformat secara terprogram. Sebagai gantinya, Anda harus menggunakan komponen alamat individual, yang disertakan oleh respons API selain kolom alamat yang diformat.

  • rating – Rating gabungan untuk tempat ini, yang ditampilkan sebagai float dengan nilai mulai dari 1,0 hingga 5,0, berdasarkan ulasan pengguna gabungan.
  • openingHours – Jam buka untuk tempat (ditunjukkan dengan GMSOpeningHours). Panggil GMSOpeningHours.weekdayText untuk mendapatkan daftar string yang dilokalkan dari jam buka harian untuk minggu tersebut. Panggil GMSOpeningHours.Periods untuk menampilkan daftar GMSPeriod dengan informasi lebih mendetail yang setara dengan data yang diberikan oleh weekdayText. Catatan: Jika tempat selalu buka, jangka waktu direpresentasikan sebagai Minggu pada tengah malam, dan closeEvent adalah null.
  • plusCode – Representasi kode Plus lokasi untuk tempat tersebut.
  • priceLevel – Tingkat harga untuk tempat ini, ditampilkan sebagai bilangan bulat dengan nilai mulai dari 0 (paling murah) hingga 4 (paling mahal).
  • types – Daftar jenis tempat yang mencirikan tempat ini. Array ini dapat berisi beberapa nilai, atau mungkin kosong. Nilai baru dapat dimasukkan tanpa pemberitahuan sebelumnya. Lihat daftar jenis yang didukung.
  • website – URI situs tempat, jika diketahui. Ini adalah situs yang dikelola oleh bisnis atau entitas lain yang terkait dengan tempat tersebut.
  • attributionsNSAttributedString berisi atribusi yang harus Anda tampilkan kepada pengguna jika aplikasi Anda menggunakan detail tempat yang diambil dari Places SDK for iOS. Untuk mengetahui detail tentang mengambil dan menampilkan atribusi, lihat panduan atribusi.
  • addressComponents – Array objek GMSAddressComponent yang mewakili komponen alamat untuk suatu tempat. Komponen ini disediakan untuk mengekstrak informasi terstruktur tentang alamat sebuah tempat, misalnya menemukan kota tempat suatu tempat berada. Jangan gunakan komponen ini untuk pemformatan alamat. Sebagai gantinya, gunakan properti formattedAddress, yang menyediakan alamat yang diformat dan dilokalkan.

    Perhatikan fakta berikut tentang array addressComponents:

    • Array komponen alamat dapat berisi lebih banyak komponen daripada formattedAddress.
    • Array tidak harus menyertakan semua entity politik yang berisi alamat, selain dari yang disertakan dalam formattedAddress.
    • Format respons tidak dijamin tetap sama di antara permintaan. Secara khusus, jumlah addressComponents bervariasi berdasarkan alamat yang diminta dan dapat berubah dari waktu ke waktu untuk alamat yang sama. Komponen dapat mengubah posisi dalam array. Jenis komponen dapat berubah. Komponen tertentu mungkin tidak ada dalam respons berikutnya.
  • userRatingsTotal – Merepresentasikan jumlah ulasan yang membentuk rating tempat tersebut.
  • GMSPlaceFieldIconImageURL – URL untuk ikon yang mewakili jenis tempat (format PNG).
  • GMSPlaceFieldIconBackgroundColor – Warna latar untuk ikon jenis tempat.
  • UTCOffsetMinutes – Offset zona waktu tempat, dalam menit.

Class GMSPlace berisi fungsi anggota berikut:

  • isOpen menghitung apakah suatu tempat buka pada waktu tertentu, berdasarkan openingHours dan UTCOffsetMinutes, serta tanggal dan waktu saat ini.
  • isOpenAtDate menghitung apakah tempat buka pada tanggal tertentu, berdasarkan openingHours dan UTCOffsetMinutes, serta tanggal dan waktu saat ini.
  • Saat menggunakan fungsi ini untuk mendapatkan waktu buka dan/atau tanggal, permintaan fetchPlaceFromPlaceID: atau findPlaceLikelihoodsFromUserLocationWithPlaceFields: yang asli harus menentukan kolom KEDUA GMSPlaceFieldOpeningHours dan GMSPlaceFieldUTCOffsetMinutes. Jika salah satu kolom ini tidak ada, objek GMSPlace yang dihasilkan tidak akan berisi waktu atau tanggal buka, dan panggilan akan menampilkan GMSPlaceOpenStatusUnknown. Untuk memastikan hasil yang akurat, minta kolom GMSPlaceFieldBusinessStatus dan GMSPlaceFieldUTCOffsetMinutes dalam permintaan tempat awal Anda. Jika tidak diminta, diasumsikan bahwa bisnis beroperasi.

    Tonton video ini untuk mengetahui cara menggunakan isOpen dengan Place Details.

Mendapatkan tempat melalui ID

ID tempat adalah identifier tekstual yang secara unik mengidentifikasi tempat. Pada Places SDK for iOS, Anda dapat mengambil ID sebuah tempat dari objek GMSPlace. Anda dapat menyimpan ID tempat dan menggunakannya untuk mengambil lagi objek GMSPlace nanti.

Untuk mendapatkan tempat berdasarkan ID, panggil GMSPlacesClient fetchPlaceFromPlaceID: dengan meneruskan parameter berikut:

  • String yang berisi ID Tempat.
  • Satu atau beberapa GMSPlaceField, yang menentukan jenis data yang akan ditampilkan.
  • Token sesi jika panggilan dilakukan untuk menyimpulkan kueri pelengkapan otomatis. Jika tidak, teruskan nilai nil.
  • GMSPlaceResultCallback untuk menangani hasilnya.

API memanggil metode callback yang ditentukan, dengan meneruskan objek GMSPlace. Jika tempat tidak ditemukan, objek tempat akan nol.

Swift

// A hotel in Saigon with an attribution.
let placeID = "ChIJV4k8_9UodTERU5KXbkYpSYs"

// Specify the place data types to return.
let fields: GMSPlaceField = GMSPlaceField(rawValue: UInt(GMSPlaceField.name.rawValue) |
  UInt(GMSPlaceField.placeID.rawValue))!

placesClient?.fetchPlace(fromPlaceID: placeId, placeFields: fields, sessionToken: nil, callback: {
  (place: GMSPlace?, error: Error?) in
  if let error = error {
    print("An error occurred: \(error.localizedDescription)")
    return
  }
  if let place = place {
    self.lblName?.text = place.name
    print("The selected place is: \(place.name)")
  }
})

Objective-C

// A hotel in Saigon with an attribution.
NSString *placeId = @"ChIJV4k8_9UodTERU5KXbkYpSYs";

// Specify the place data types to return.
GMSPlaceField fields = (GMSPlaceFieldName | GMSPlaceFieldPlaceID);

[_placesClient fetchPlaceFromPlaceID:placeId placeFields:fields sessionToken:nil callback:^(GMSPlace * _Nullable place, NSError * _Nullable error) {
  if (error != nil) {
    NSLog(@"An error occurred %@", [error localizedDescription]);
    return;
  }
  if (place != nil) {
    NSLog(@"The selected place is: %@", [place name]);
  }
}];

Menampilkan atribusi dalam aplikasi Anda

Saat menampilkan informasi yang diperoleh dari GMSPlacesClient lookUpPlaceID:callback:, aplikasi juga harus menampilkan atribusi. Lihat dokumentasi tentang atribusi.

Selengkapnya tentang ID tempat

ID tempat yang digunakan di Places SDK for iOS adalah ID yang sama dengan yang digunakan di Places API, Places SDK for Android, dan Google API lainnya.

Setiap ID tempat hanya dapat merujuk ke satu tempat, tetapi satu tempat dapat memiliki lebih dari satu ID tempat.

Ada keadaan yang bisa menyebabkan suatu tempat mendapatkan ID tempat baru. Misalnya, hal ini bisa terjadi jika bisnis pindah ke lokasi baru.

Saat meminta tempat dengan menentukan ID tempat, Anda bisa yakin bahwa Anda akan selalu menerima tempat yang sama dalam respons (jika tempat itu masih ada). Namun, perlu diperhatikan bahwa respons mungkin berisi ID tempat yang berbeda dari yang ada di permintaan Anda.

Untuk informasi selengkapnya, lihat ringkasan ID tempat.