Chính sách về SDK Địa điểm dành cho iOS

Tài liệu này liệt kê các yêu cầu dành riêng cho tất cả ứng dụng được phát triển bằng SDK Địa điểm dành cho iOS, bao gồm cả dịch vụ Tự động hoàn thành địa điểm nằm trong API đó. Bạn có thể xem thêm thông tin chung dành cho nhà phát triển Google Maps trong Điều khoản dịch vụ của Nền tảng Google Maps.

Cung cấp điều khoản sử dụng và chính sách quyền riêng tư

Nếu phát triển một SDK Địa điểm cho ứng dụng iOS, bạn phải cung cấp Điều khoản sử dụngChính sách quyền riêng tư cho ứng dụng của mình. Ứng dụng này đáp ứng các nguyên tắc nêu trong Thoả thuận của bạn với Google:

  • Điều khoản sử dụngChính sách quyền riêng tư phải được cung cấp công khai.
  • Bạn phải nêu rõ trong Điều khoản sử dụng của ứng dụng rằng khi sử dụng ứng dụng, người dùng chịu sự ràng buộc của Điều khoản dịch vụ của Google.
  • Trong Chính sách quyền riêng tư, bạn phải thông báo cho người dùng rằng bạn đang sử dụng(các) API Google Maps và đưa vào bằng cách tham khảo Chính sách quyền riêng tư của Google.

Địa điểm bạn nên cung cấp Điều khoản sử dụngChính sách quyền riêng tư tuỳ thuộc vào nền tảng của ứng dụng.

Ứng dụng dành cho thiết bị di động

Nếu phát triển một ứng dụng dành cho thiết bị di động, bạn nên cung cấp đường liên kết đến Điều khoản sử dụngChính sách quyền riêng tư trên trang tải xuống của ứng dụng trong cửa hàng ứng dụng liên quan và trong trình đơn cài đặt ứng dụng.

Ứng dụng web

Nếu đang phát triển một ứng dụng web, bạn nên cung cấp một đường liên kết đến Điều khoản sử dụngChính sách quyền riêng tư ở chân trang web của bạn.

Tìm nạp trước, lưu vào bộ nhớ đệm hoặc lưu trữ nội dung

Các ứng dụng sử dụng SDK Địa điểm dành cho iOS chịu sự ràng buộc của các điều khoản trong Thoả thuận của bạn với Google. Theo các điều khoản trong Thoả thuận của bạn, bạn không được tìm nạp trước, lập chỉ mục, lưu trữ hoặc lưu vào bộ nhớ đệm bất kỳ Nội dung nào ngoại trừ các điều kiện giới hạn được nêu trong điều khoản.

Xin lưu ý rằng mã địa điểm (dùng để xác định riêng một địa điểm) sẽ được miễn hạn chế lưu vào bộ nhớ đệm. Mã địa điểm được trả về trong trường "place_id" của SDK Địa điểm cho các phản hồi trên iOS. Tìm hiểu cách lưu, làm mới và quản lý mã địa điểm trong hướng dẫn về mã địa điểm.

Hiển thị SDK Địa điểm cho kết quả iOS

Bạn có thể hiển thị SDK Địa điểm cho các kết quả iOS trên Google Map hoặc không cần bản đồ. Nếu bạn muốn hiển thị SDK Địa điểm cho các kết quả trên iOS trên bản đồ, thì những kết quả này phải được hiển thị trên Google Map. Nghiêm cấm sử dụng SDK Địa điểm cho dữ liệu iOS trên bản đồ không phải là bản đồ của Google.

Nếu ứng dụng của bạn hiển thị dữ liệu trên Google Maps, thì biểu trưng Google sẽ được đưa vào và không được thay đổi. Các ứng dụng hiển thị dữ liệu của Google trên cùng một màn hình với Google Maps không bắt buộc phải cung cấp thêm dữ liệu phân bổ cho Google.

Nếu ứng dụng của bạn hiển thị dữ liệu trên một trang hoặc chế độ xem không hiển thị cả Google Map, thì bạn phải hiển thị biểu trưng của Google cùng với dữ liệu đó. Ví dụ: nếu ứng dụng của bạn hiển thị dữ liệu của Google trên một thẻ và Google Maps chứa dữ liệu đó trên một thẻ khác, thì thẻ đầu tiên phải hiển thị biểu trưng của Google. Nếu ứng dụng của bạn sử dụng các trường tìm kiếm có hoặc không có tính năng tự động hoàn thành, thì biểu trưng phải hiển thị cùng dòng.

Biểu trưng của Google nên được đặt ở góc dưới cùng bên trái của bản đồ, đồng thời thông tin ghi công được đặt ở góc dưới cùng bên phải, cả hai đều phải hiển thị trên bản đồ một cách tổng thể và không nằm dưới bản đồ hay một vị trí khác trong ứng dụng. Ví dụ về bản đồ sau đây cho thấy biểu trưng của Google ở phía dưới bên trái của bản đồ và thuộc tính ở phía dưới bên phải.

vị trí phân bổ theo chính sách

Tệp zip sau đây chứa biểu trưng Google ở kích thước chính xác cho các ứng dụng dành cho máy tính, Android và iOS. Bạn không được đổi kích thước hoặc sửa đổi các biểu trưng này theo bất kỳ cách nào.

Tải xuống: google_logo.zip

Đừng sửa đổi thuộc tính. Đừng xoá, che khuất hoặc cắt thông tin thuộc tính. Bạn không thể sử dụng biểu trưng của Google cùng dòng (ví dụ: "Các bản đồ này đến từ [Google_logo]").

Luôn phân bổ theo cách phù hợp. Nếu bạn sử dụng ảnh chụp màn hình hình ảnh trên Google bên ngoài video được nhúng trực tiếp, hãy cung cấp thông tin ghi nhận tác giả chuẩn như xuất hiện trong hình ảnh đó. Nếu cần, bạn có thể tuỳ chỉnh kiểu và vị trí của văn bản ghi công, miễn là văn bản đó ở gần nội dung và có thể đọc được đối với người xem hoặc người đọc thông thường. Bạn không được di chuyển thuộc tính ra khỏi nội dung, chẳng hạn như đến cuối sách, ghi công của tệp hoặc chương trình hoặc chân trang web của bạn.

Bao gồm cả nhà cung cấp dữ liệu bên thứ ba. Một số dữ liệu và hình ảnh trên các sản phẩm lập bản đồ của chúng tôi là của các nhà cung cấp không phải Google. Nếu bạn sử dụng những hình ảnh như vậy, văn bản ghi công của bạn phải có tên "Google" và(các) nhà cung cấp dữ liệu có liên quan, chẳng hạn như "Dữ liệu bản đồ: Google, Maxar Technologies". Khi nhà cung cấp dữ liệu bên thứ ba được trích dẫn cùng với hình ảnh mà chỉ chứa "Google" hoặc biểu trưng Google là không đúng.

Nếu bạn đang sử dụng Nền tảng Google Maps trên một thiết bị không phù hợp để hiển thị thuộc tính, vui lòng liên hệ với nhóm bán hàng của Google để thảo luận về các giấy phép phù hợp với trường hợp sử dụng của bạn.

Các yêu cầu khác về việc ghi công

Ghi công cho nhà cung cấp bên thứ ba chứa nội dung và đường liên kết mà bạn phải hiển thị cho người dùng ở định dạng được cung cấp. Google khuyên bạn nên hiển thị thông tin này bên dưới thông tin chi tiết về địa điểm.

Các thuộc tính bên thứ ba mà API trả về không bao gồm mô hình phân bổ của Google. Bạn phải tự mình đưa thuộc tính này vào, như mô tả trong bài viết Hiển thị biểu trưng và các thuộc tính của Google.

Hãy làm theo các hướng dẫn này để truy xuất thông tin thuộc tính của bên thứ ba cho một địa điểm hoặc một tập hợp địa điểm.

Truy xuất các thuộc tính cho một nơi duy nhất

Khi truy xuất một địa điểm bằng cách nhận một địa điểm theo mã nhận dạng, bạn có thể truy xuất các thuộc tính cho địa điểm đó từ thuộc tính attributions trên GMSPlace.

attributions được cung cấp dưới dạng một đối tượng NSAttributedString.

Truy xuất các thuộc tính cho một tập hợp các địa điểm

Nếu ứng dụng của bạn cho thấy thông tin thu thập được bằng cách yêu cầu địa điểm hiện tại của thiết bị, thì ứng dụng phải hiển thị thông tin thuộc tính của bên thứ ba cho thông tin chi tiết về địa điểm xuất hiện. Bạn có thể truy xuất thuộc tính cho tất cả các vị trí được truy xuất trong yêu cầu, từ thuộc tính attributions trên GMSPlaceLikelihoodList.

attributions được cung cấp dưới dạng đối tượng NSAttributedString mà bạn có thể truy cập và hiển thị theo cách giống như attributions tại một nơi duy nhất, như mô tả ở trên.

Hiển thị thông tin ghi nhận sự đóng góp cho một ảnh

Nếu ứng dụng của bạn hiện ảnh, bạn phải hiện thông tin ghi nhận tác giả cho mỗi ảnh có ảnh đó. Để lấy thông tin về thuộc tính cho một ảnh, hãy gọi GMSPlacePhotoMetadata.attributions. Thuộc tính này là NSAttributedString hoặc nil nếu không có thuộc tính nào để hiển thị.

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

Hiển thị thuộc tính của bên thứ ba

Thông tin ghi công cho nhà cung cấp bên thứ ba được cung cấp dưới dạng đối tượng NSAttributedString chứa nội dung và đường liên kết mà bạn phải giữ lại và hiển thị cho người dùng.

Bạn nên hiển thị thuộc tính bằng UITextView, vì các đường liên kết trong thuộc tính phải hoạt động. Để đảm bảo đường liên kết hoạt động, hãy đặt một thực thể đại diện trên UITextView và đặt phương thức shouldInteractWithURL của UITextViewDelegate để trả về 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;
}
    

Ví dụ về thuộc tính của bên thứ ba

Thuộc tính của bên thứ ba thường bao gồm văn bản có liên kết. Ví dụ:

Trang thông tin theo Công ty ví dụ

Trong ví dụ trên, phạm vi văn bản Công ty mẫu nằm trong thuộc tính NSLink.

Nguyên tắc về kiểu cho mô hình phân bổ của Google

Dưới đây là nguyên tắc về kiểu cho các thuộc tính của Google trong CSS và HTML nếu bạn không thể sử dụng biểu trưng Google có thể tải xuống.

Không gian trống

Khoảng không gian trống xung quanh khoá phải bằng hoặc lớn hơn chiều cao của chữ "G" trong Google.

Khoảng cách giữa bản sao thuộc tính và biểu trưng Google phải bằng một nửa chiều rộng của chữ "G".

Độ dễ đọc

Dòng tên tác giả phải luôn rõ ràng, dễ đọc và hiển thị với nhiều biến thể màu sắc phù hợp với nền nhất định. Luôn đảm bảo cung cấp đủ độ tương phản cho biến thể biểu trưng mà bạn chọn.

Màu

Sử dụng văn bản Google Material Gray 700 trên nền trắng hoặc sáng với phạm vi sắc thái đen tối đa là 0%– 40%.

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

Trên nền tối hơn và trên ảnh chụp hoặc các mẫu không bận, hãy sử dụng văn bản màu trắng cho dòng ghi tên tác giả và ghi công.

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

Phông chữ

Hãy sử dụng phông chữ Roboto.

Ví dụ về CSS

Khi được áp dụng cho văn bản "Google", CSS sau đây sẽ hiển thị "Google" với phông chữ, màu sắc và khoảng cách thích hợp trên nền trắng hoặc sáng.

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;