Dokumen ini mencantumkan persyaratan yang spesifik untuk semua aplikasi yang dikembangkan dengan Places SDK for iOS, termasuk Place Autocomplete yang merupakan bagian dari API tersebut. Informasi yang lebih umum untuk Google Maps pengembang dapat ditemukan di Persyaratan Layanan Google Maps Platform.
Menyediakan ketentuan penggunaan dan kebijakan privasi
Jika Anda mengembangkan aplikasi Places SDK for iOS, Anda harus menyediakan Persyaratan Penggunaan dan Privasi Kebijakan terkait aplikasi Anda yang memenuhi pedoman yang diuraikan dalam Perjanjian Anda dengan Google:
- Persyaratan Penggunaan dan Kebijakan Privasi harus tersedia untuk umum.
- Anda harus menyatakan secara eksplisit dalam Persyaratan Penggunaan aplikasi Anda bahwa dengan menggunakan aplikasi Anda, pengguna akan terikat dengan Persyaratan Layanan Google.
- Anda harus memberi tahu pengguna dalam Kebijakan Privasi Anda bahwa Anda menggunakan Google Maps API dan melalui penyebutan memasukkan Kebijakan Privasi Google.
Tempat yang direkomendasikan untuk menyediakan Persyaratan Penggunaan dan Kebijakan Privasi Anda akan bergantung pada platform aplikasi Anda.
Aplikasi seluler
Jika mengembangkan aplikasi seluler, sebaiknya Anda menyediakan link ke Persyaratan Penggunaan dan Kebijakan Privasi di halaman download aplikasi Anda di app store yang relevan dan di menu setelan aplikasi.
Aplikasi web
Jika mengembangkan aplikasi web, sebaiknya Anda menyediakan link ke Persyaratan Penggunaan dan Kebijakan Privasi di footer situs web Anda.
Melakukan pra-pengambilan, menyimpan dalam cache, atau menyimpan konten
Aplikasi yang menggunakan Places SDK for iOS terikat oleh persyaratan Perjanjian dengan Google. Tunduk pada ketentuan Perjanjian Anda, Anda tidak boleh melakukan pra-pengambilan, mengindeks, menyimpan dalam cache, atau menyimpan Konten apa pun, kecuali berdasarkan kondisi terbatas yang dinyatakan dalam ketentuan tersebut.
Perhatikan bahwa ID tempat, yang digunakan untuk mengidentifikasi tempat secara unik, dikecualikan dari pembatasan penyimpanan dalam cache. ID tempat ditampilkan di kolom `place_id` di Respons Places SDK for iOS. Pelajari cara menyimpan, memperbarui, dan mengelola ID tempat di panduan ID Tempat.
Menampilkan hasil Places SDK for iOS
Anda dapat menampilkan hasil Places SDK for iOS pada Google Maps atau tanpa peta. Jika Anda ingin menampilkan hasil Places SDK for iOS pada peta, maka hasil ini harus ditampilkan di Google Maps. Dilarang menggunakan data Places SDK for iOS pada peta yang bukan peta Google.
Menampilkan logo dan atribusi Google
Jika aplikasi Anda menampilkan data di Google Maps, logo Google akan disertakan dan tidak boleh diubah. Aplikasi yang menampilkan data Google di layar yang sama seperti Google Maps tidak diwajibkan memberikan atribusi lainnya untuk Google.
Jika aplikasi Anda menampilkan data di halaman atau tampilan yang juga tidak menampilkan Google Maps, Anda harus menampilkan logo Google dengan data tersebut. Misalnya, jika aplikasi Anda menampilkan data Google pada satu tab, dan Google Maps dengan data tersebut pada tab lainnya, tab pertama harus menampilkan logo Google. Jika aplikasi Anda menggunakan kolom penelusuran dengan atau tanpa pelengkapan otomatis, logo harus ditampilkan secara inline.
Logo Google harus ditempatkan di sudut kiri bawah peta, dengan informasi atribusi ditempatkan di sudut kanan bawah, keduanya harus ada di peta yang ditampilkan sebagai satu kesatuan, dan bukan di bawah peta atau tempat lain dalam aplikasi. Contoh peta berikut menampilkan logo Google di kiri bawah peta, dan atribusi di kanan bawah.
Untuk digunakan pada latar belakang terang | Untuk digunakan pada latar belakang gelap |
---|---|
File ZIP berikut berisi logo Google dalam ukuran yang tepat untuk aplikasi desktop, Android, dan iOS. Anda tidak boleh mengubah ukuran atau memodifikasi logo ini dengan cara apa pun.
Download: google_logo.zip
Jangan mengubah atribusi. Jangan menghapus, mengaburkan, atau memangkas informasi atribusi. Anda tidak boleh menggunakan logo Google secara inline (misalnya, "Peta ini dari [Google_logo]").
Selalu dekatkan posisi atribusi. Jika menggunakan screenshot gambar Google di luar sematan langsung, sertakan atribusi dasar sebagaimana yang muncul di gambar tersebut. Jika perlu, Anda dapat menyesuaikan gaya dan penempatan teks atribusi, selama teks tersebut berada sangat dekat dengan konten dan dapat dibaca oleh kebanyakan pelihat atau pembaca. Anda tidak boleh menjauhkan atribusi dari konten, seperti ke bagian akhir buku Anda, kredit file atau acara Anda, atau footer situs Anda.
Sertakan penyedia data pihak ketiga. Beberapa data dan gambar di produk pemetaan kami berasal dari penyedia selain Google. Jika gambar tersebut digunakan, teks atribusi Anda harus berisi nama "Google" dan penyedia data yang relevan, seperti "Data peta: Google, Maxar Technologies." Jika ada penyedia data pihak ketiga yang dikutip bersama gambar, menyertakan "Google" atau logo Google saja bukanlah bentuk atribusi yang benar.
Jika Anda menggunakan Google Maps Platform di perangkat yang tidak mungkin digunakan untuk menampilkan atribusi, hubungi tim penjualan Google untuk mendiskusikan lisensi yang sesuai untuk kasus penggunaan Anda.
Persyaratan atribusi lainnya
Atribusi untuk penyedia pihak ketiga berisi konten dan link yang harus ditampilkan kepada pengguna dalam format yang disediakan. Kebijakan Privasi menyarankan agar aplikasi Anda menampilkan informasi ini di bawah detail tempat.
Atribusi pihak ketiga yang ditampilkan oleh API tidak menyertakan atribusi Google. Anda harus menyertakan atribusi ini sendiri, seperti dijelaskan dalam Menampilkan logo dan atribusi Google.
Ikuti petunjuk ini guna mengambil atribusi pihak ketiga untuk satu tempat atau sekumpulan tempat.
Mengambil atribusi untuk satu tempat
Bila Anda mengambil tempat dengan mendapatkan
tempat menurut ID, Anda
dapat mengambil atribusi untuk tempat tersebut dari
Properti attributions
aktif
GMSPlace
.
attributions
disediakan sebagai
Objek NSAttributedString
.
Mengambil atribusi untuk kumpulan tempat
Jika aplikasi Anda menampilkan informasi yang diperoleh dengan meminta informasi
tempat saat ini, aplikasi harus menampilkan
atribusi pihak ketiga untuk detail tempat yang ditampilkan. Anda dapat mengambil
atribusi untuk semua tempat yang diambil dalam permintaan, mulai dari
Properti attributions
aktif
GMSPlaceLikelihoodList
.
attributions
disediakan sebagai
Objek NSAttributedString
, yang dapat Anda akses dan tampilkan
dengan cara yang sama seperti attributions
di satu tempat, seperti yang dijelaskan
di atas.
Menampilkan atribusi untuk foto
Jika aplikasi Anda ditampilkan
foto, Anda harus
tampilkan attributions
dan authorAttributions
untuk masing-masing
foto yang memilikinya.
- Untuk mengakses atribusi, gunakan
GMSPlacePhotoMetadata.attributions
Properti ini adalahNSAttributedString
, ataunil
jika tidak ada atribusi untuk ditampilkan. - Untuk mengakses atribusi penulis, gunakan
GMSPlacePhotoMetadata.authorAttributions
Properti ini berisi arrayGMSPlaceAuthorAttribution
objek terstruktur dalam jumlah besar.
Swift
GMSPlacesClient.sharedClient().lookUpPhotosForPlaceID(placeID) { (photos, error) -> Void in if let error = error { // TODO: handle the error. print("Error: \(error.description)") } else { // Get attribution for the first photo in the list. if let photo = photos?.results.first { let attributions = photo.attributions } } }
Objective-C
[[GMSPlacesClient sharedClient] lookUpPhotosForPlaceID:placeID callback:^(GMSPlacePhotoMetadataList *_Nullable photos, NSError *_Nullable error) { if (error) { // TODO: handle the error. NSLog(@"Error: %@", [error description]); } else { // Get attribution for the first photo in the list. if (photos.results.count > 0) { GMSPlacePhotoMetadata *photo = photos.results.firstObject; NSAttributedString *attributions = photo.attributions; } } }];
Menampilkan ulasan
Objek GMSPlace
dapat berisi hingga lima ulasan, dengan setiap ulasan
ulasan diwakili oleh objek GMSPlaceReview
. Anda dapat
secara opsional menampilkan ulasan ini di aplikasi Anda.
Saat menampilkan ulasan yang dikontribusikan oleh pengguna Google, Anda harus menempatkan
nama penulis dalam jarak dekat. Jika tersedia di kolom atribusi penulis
objek GMSPlaceReview
, sebaiknya sertakan ID penulis
foto dan juga tautan ke profil mereka. Gambar berikut menampilkan contoh
tentang ulasan sebuah taman:
Google juga merekomendasikan agar Anda menampilkan cara pengurutan ulasan ke pengguna akhir.
Untuk mengakses ulasan:
Swift
// Define a Place ID. let placeID = "ChIJV4k8_9UodTERU5KXbkYpSYs" // Specify the place data types to return. let myProperties: [GMSPlaceProperty] = [.name, .website, .reviews] // Create the GMSFetchPlaceRequest object. let fetchPlaceRequest = GMSFetchPlaceRequest(placeID: placeID, placeProperties: myProperties) client.fetchPlaceWithRequest(fetchPlaceRequest: fetchPlaceRequest, callback: { (place: GMSPlace?, error: Error?) in if let error = error { print("An error occurred: \(error.localizedDescription)") return } if let place = place { let firstReview: GMSPlaceReview = place.reviews![0] // Use firstReview to access review text, authorAttribution, and other fields. } })
Objective-C
// Define a Place ID. NSString *placeID = @"ChIJV4k8_9UodTERU5KXbkYpSYs"; // Specify the place data types to return, including reviews. NSArray<GMSPlaceProperty *> *myProperties = @[GMSPlacePropertyName, GMSPlacePropertyWebsite,GMSPlacePropertyReviews]; GMSFetchPlaceRequest *fetchPlaceRequest = [[GMSFetchPlaceRequest alloc] initWithPlaceID:placeID placeProperties: myProperties]; [placesClient fetchPlaceWithRequest: fetchPlaceRequest, callback: ^(GMSPlace *_Nullable place, NSError *_Nullable error) { if (error) { // TODO: handle the error. NSLog(@"Error: %@", [error description]); } else { // Get first review. GMSPlaceReview *firstReview = [place reviews][0]; // Use firstReview to access review text, authorAttribution, and other fields. } }];
Menampilkan atribusi pihak ketiga
Atribusi ke penyedia pihak ketiga disediakan sebagai objek NSAttributedString
yang
berisi konten dan link yang harus Anda pertahankan dan tampilkan kepada pengguna.
Cara yang direkomendasikan untuk menampilkan atribusi adalah dengan UITextView
, karena link dalam atribusi harus berfungsi.
Untuk memastikan link berfungsi, tetapkan delegasi pada UITextView
dan setel shouldInteractWithURL
dari UITextViewDelegate
Anda untuk menampilkan YES
.
Swift
... self.attributionTextView.delegate = self ... // MARK: - UITextViewDelegate func textView(textView: UITextView, shouldInteractWithURL URL: NSURL, inRange characterRange: NSRange) -> Bool { // Make links clickable. return true }
Objective-C
... self.attributionTextView.delegate = self; ... #pragma mark - UITextViewDelegate - (BOOL)textView:(UITextView *)textView shouldInteractWithURL:(NSURL *)url inRange:(NSRange)characterRange { // Make links clickable. return YES; }
Contoh atribusi pihak ketiga
Atribusi pihak ketiga biasanya terdiri dari teks beserta tautan. Contoh:
Listingan yang dicantumkan oleh Perusahaan Contoh
Dalam contoh di atas, rentang teks Perusahaan Contoh dicakup oleh
atribut NSLink
.
Panduan gaya untuk atribusi Google
Berikut adalah panduan gaya untuk atribusi Google di CSS dan HTML jika Anda tidak dapat menggunakan logo Google yang dapat didownload.
Ruang kosong
Ukuran ruang kosong di sekitar logo lengkap harus sama dengan atau lebih besar dari tinggi "G" di Google.
Ruang antara salinan atribusi dan logo Google harus setengah lebar huruf "G".
Keterbacaan
Baris nama penulis harus selalu jelas, dapat dibaca, dan ditampilkan dengan variasi warna terang untuk latar belakang tertentu. Pastikan selalu ada kontras yang memadai untuk variasi logo yang Anda pilih.
Warna
Gunakan teks Google Material Gray 700 di latar belakang putih atau terang yang menggunakan tint hitam maksimum dengan rentang 0%–40%.
#5F6368 RGB 95 99 104 HSL 213 5 39 HSB 213 9 41
Di latar belakang yang lebih gelap, dan di pola yang tidak rumit atau fotografi, gunakan teks putih untuk baris nama penulis dan atribusi.
#FFFFFF RGB 255 255 255 HSL 0 0 100 HSB 0 0 100
Font
Gunakan font Roboto.
CSS Contoh
CSS berikut, saat diterapkan ke teks "Google", akan merender "Google" dengan font, warna dan ruang yang sesuai di latar belakang putih atau terang.
font-family: Roboto; font-style: normal; font-weight: 500; font-size: 16px; line-height: 16px; padding: 16px; letter-spacing: 0.0575em; /* 0.69px */ color: #5F6368;