Places SDK for iOS 的政策

本文档列出了使用 Places SDK for iOS 开发的所有应用(包括作为该 API 一部分的地点自动补全服务)的专门要求。如需了解适用于 Google 地图开发者的更多一般信息,请参阅 Google Maps Platform 服务条款

提供使用条款和隐私权政策

如果您要开发 Places SDK for iOS 应用,则必须随应用一起提供使用条款隐私权政策,这符合与 Google 达成的协议中规定的准则:

  • 《使用条款》和《隐私权政策》必须可公开访问。
  • 您必须在应用的《使用条款》中明确说明,用户使用应用时须遵守 Google 服务条款
  • 您必须在《隐私权政策》中注明您使用的是 Google Maps API,并且以提述方式将 Google 隐私权政策纳入其中。

《使用条款》和《隐私权政策》的建议显示位置因应用平台而异。

移动应用

如果开发的是移动应用,建议在相关应用商店的应用下载页面上以及应用的设置菜单中提供指向《使用条款》和《隐私权政策》的链接。

Web 应用

如果开发的是 Web 应用,建议在网站的页脚位置提供指向《使用条款》和《隐私权政策》的链接。

预取、缓存或存储内容

如果应用是使用 Places SDK for iOS 开发的,则须遵守您与 Google 签订的协议条款。根据您签订的协议条款,除了条款中规定的少数情况之外,您不得预取、存储、缓存任何内容或将其编入索引。

请注意,用于唯一标识地点的地点 ID不受缓存限制。地点 ID 会在 Places SDK for iOS 响应的 place_id 字段中返回。如需了解如何保存、刷新和管理地点 ID,请参阅地点 ID 指南。

显示 Places SDK for iOS 结果

您可以在 Google 地图上显示 Places SDK for iOS 结果,也可以不使用地图显示结果。如果您想在地图上显示 Places SDK for iOS 结果,那么这些结果必须显示在 Google 地图上。 禁止在 Google 地图以外的地图平台上使用 Places SDK for iOS 数据。

如果应用在 Google 地图上显示数据,则需要包含 Google 徽标,且不得修改。如果应用显示 Google 数据时与 Google 地图在同一屏幕上,则不需要向 Google 提供详细的提供方信息。

如果应用在页面或视图上显示数据时 Google 地图并未一同显示,您必须在显示这些数据的同时显示 Google 徽标。例如,如果应用在一个标签页上显示 Google 数据,而包含这些数据的 Google 地图位于另一个标签页上,则第一个标签页上必须显示 Google 徽标。如果应用使用搜索字段(无论是否具有自动补全功能),则徽标必须在同一行内显示。

Google 徽标应放置在地图左下角,提供方信息应放置在右下角,两者都应显示在地图上,而不是位于地图下方或应用内的其他位置。在下面的地图示例中,Google 徽标位于地图左下角,提供方信息位于右下角。

政策提供方信息位置

以下 zip 文件包含不同尺寸的 Google 徽标,分别适用于桌面版、Android 版和 iOS 版应用。您不得以任何方式修改这些徽标或调整其尺寸。

下载:google_logo.zip

请勿修改提供方信息。请勿移除、裁剪掉提供方信息,或对其进行模糊处理。您不能内嵌使用 Google 徽标(例如,“这些地图来自 [Google_logo]”)。

确保提供方信息靠近内容。如果不是以直接嵌入方式使用 Google 图像屏幕截图,那么显示的标准提供方信息应与图片中的内容相同。如有必要,您可以自定义提供方信息文字的样式和位置,只需确保文字紧邻内容且清晰可辨,能够让普通观众或读者轻松阅读。您不得将提供方信息移到内容区域之外的位置,例如放在图书末尾、文件或节目的人员名单或网站的页脚中。

注明第三方数据提供方。地图产品上的一些数据和图片来自 Google 以外的提供方。如果使用此类图像,提供方信息文字中必须提及“Google”和相关数据提供方,例如“地图数据:Google、Maxar Technologies”。如果图像中提及第三方数据提供方,那么提供方信息中不应仅包含“Google”或 Google 徽标。

如果要使用 Google Maps Platform 的设备实际无法显示提供方信息,请与 Google 销售团队联系,了解您的使用情形适用的许可。

其他提供方信息要求

对第三方提供方的提供方说明包含您必须按其提供格式向用户显示的内容和链接。Google 建议您的应用将这些信息显示在地点详情下方。

API 返回的第三方提供方说明包含 Google 提供方说明。您必须按照显示 Google 徽标和提供方信息中的说明自行添加此提供方说明。

请按照以下说明检索单个地点或地点集的第三方提供方说明。

检索单个地点的提供方说明

通过按 ID 获取地点检索地点时,您可以通过 GMSPlace 上的 attributions 属性检索该地点的提供方说明。

attributionsNSAttributedString 对象的形式提供。

检索地点集合的提供方说明

如果您的应用要显示通过请求设备的当前地点获得的信息,则该应用还必须显示针对所显示的地点详情的第三方提供方说明。您可以通过 GMSPlaceLikelihoodList 上的 attributions 属性检索在请求中检索的所有地点的提供方说明。

attributionsNSAttributedString 对象的形式提供,您可以在一个位置按照与 attributions 相同的方式访问和显示该对象,如上文所述。

搜索结果归因

在欧洲,使用 Google 纯正排名方式时,搜索产品必须提供不超过 1 次点击的铺垫消息,用于说明决定搜索结果排名的主要因素和主要因素的权重。说明文字:

标题:关于这些结果

正文:当您搜索某个地点附近的商家或场所时,Google 地图会显示本地搜索结果,并且会结合多种因素(主要是相关性、距离和知名度)帮助您找到最符合搜索条件的结果。

按钮 1:了解详情
“了解详情”文字应链接到帮助中心文章

按钮 2:确定

显示照片的提供方信息

如果您的应用显示照片,则必须为每一张包含 attributionsauthorAttributions 的照片显示这些信息。

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;
          }
        }
      }];
    

显示评价

一个 GMSPlace 对象最多可以包含五条评价,其中每条评价由一个 GMSPlaceReview 对象表示。您可以选择在应用中显示这些评价。

显示 Google 用户提供的评价时,您必须将作者姓名放在紧邻评价的位置。如果 GMSPlaceReview 对象的作者信息字段中提供了作者照片及个人资料链接等信息,我们建议您一并添加。下图显示了对公园的评价示例:

显示作者信息

Google 还建议您向最终用户显示评价的排序方式。

如需访问评价,请执行以下操作:

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.

  }
}];

显示第三方提供方说明

第三方提供商的提供方说明以 NSAttributedString 对象形式提供,其中包含必须保留并向用户显示的内容和链接。

建议使用 UITextView 来显示提供方说明,因为提供方说明中的链接必须有效。 为确保链接正常发挥作用,请在 UITextView 上设置委托,并将 UITextViewDelegateshouldInteractWithURL 方法设置为返回 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;
}
    

第三方提供方说明示例

第三方提供方说明通常包括带链接的文本。例如:

Example 公司的商品详情

在上面的示例中,NSLink 属性涵盖了 Example Company 文本范围。

Google 提供方信息样式指南

如果无法使用可下载的 Google 徽标,请按照以下样式指南使用 CSS 和 HTML 添加 Google 提供方信息。

留白空间

完整标识周围的留白空间应等同或超过 Google 中“G”的高度。

提供方信息和 Google 徽标之间的间距应为“G”宽度的一半。

易读性

署名应始终清晰可辨,而且颜色应适合给定背景。务必要为所选择的徽标变体提供足够的对比度。

颜色

如果是白色或浅色背景,文字应使用 Google Material Gray 700,黑色色调最高介于 0% 到 40% 之间。

Google
#5F6368
RGB 95 99 104
HSL 213 5 39
HSB 213 9 41

如果是深色背景,而且是摄影作品或简单图案,应使用白色文字标注署名和提供方信息。

Google
#FFFFFF
RGB 255 255 255
HSL 0 0 100
HSB 0 0 100

字体

使用 Roboto 字体。

示例 CSS

将以下 CSS 代码段应用于文字“Google”后,“Google”以适当的字体、颜色和间距显示在白色或浅色背景上。

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;