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 điền địa điểm thuộc 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 ứng dụng SDK Địa điểm cho iOS, bạn phải cung cấp Điều khoản sử dụngChính sách quyền riêng tư kèm theo đơn đăng ký đáp ứng các nguyên tắc được nêu trong Thỏa 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 của bạn, người dùng sẽ bị ràng buộc bởi Điều khoản dịch vụ của Google.
  • Bạn phải thông báo cho người dùng trong Chính sách quyền riêng tư 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.

Bạn nên cung cấp Điều khoản sử dụngChính sách quyền riêng tư của mình tùy theo nền tảng ứng dụng của bạn.

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

Nếu phát triển ứ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 ứng dụng xuố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 phát triển một ứng dụng web, bạn nên cung cấp 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ớ cache 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 Thỏa thuận của bạn với Google. Theo các điều khoản trong Thỏa 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 trừ các điều kiện giới hạn được nêu trong các điều khoản.

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

Bạn có thể hiển thị kết quả SDK địa điểm cho iOS trên Google Map hoặc không cần bản đồ. Nếu bạn muốn hiển thị kết quả SDK địa điểm dành cho iOS trên bản đồ, thì các 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 dành 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 Map, thì biểu trưng của Google sẽ được đưa vào và không thể thay đổi. Các ứng dụng hiển thị dữ liệu trên Google trên cùng một màn hình với Google Map không bắt buộc phải cung cấp thêm thông tin 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ị Google Map, thì bạn phải hiển thị biểu trưng của Google 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 Map 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ị nội tuyến.

Bạn nên đặt biểu trưng của Google ở góc dưới cùng bên trái của bản đồ, cùng với thông tin ghi nhận tác giả được đặt ở góc dưới cùng bên phải, cả hai thông tin phải hiển thị trên tổng thể bản đồ chứ không phải bên dưới bản đồ hoặc 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 bản đồ và phần ghi nhận tác giả ở phía dưới bên phải.

Tệp zip sau đây chứa biểu trưng của Google ở đúng kích thước cho các ứng dụng máy tính để bàn, Android và iOS. Bạn không được định lạ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

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

Giữ nguyên thuộc tính. Nếu sử dụng ảnh chụp màn hình cho hình ảnh của Google bên ngoài video nhúng trực tiếp, hãy bao gồm thuộc tính tiêu 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 nhận tác giả, miễn là văn bản nằm gần nội dung và dễ đọc đối với người xem hoặc người đọc thông thường. Bạn không được di chuyển ghi nhận tác giả khỏi nội dung, chẳng hạn như phần cuối sách, phần ghi công của tệp hoặc chương trình, hoặc phần chân trang trong trang web của bạn.

Bao gồm 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 liên kết của chúng tôi là của các nhà cung cấp khác ngoài Google. Nếu sử dụng hình ảnh như vậy, văn bản ghi nhận tác giả 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". Nếu có nhà cung cấp dữ liệu bên thứ ba được trích dẫn cùng hình ảnh, thì việc chỉ bao gồm "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 hiển thị mô hình phân bổ, 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ề mô hình phân bổ

Thuộc tính cho nhà cung cấp bên thứ ba chứa nội dung và liên kết mà bạn phải hiển thị cho người dùng ở định dạng mà họ được cung cấp. Google khuyên ứng dụng của 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.

Thuộc tính của bên thứ ba do API trả về không bao gồm thuộc tính của Google. Bạn phải tự thêm thuộc tính này, như mô tả trong bài viết Cách hiển thị biểu trưng và thông tin ghi nhận sự đóng góp của Google.

Thực hiện theo các hướng dẫn này để truy xuất 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 lục phân bổ cho một vị trí

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

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

Truy lục phân bổ cho một tập hợp địa điểm

Nếu ứng dụng của bạn hiển thị thông tin thu đượ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 cung cấp thuộc tính của bên thứ ba cho thông tin chi tiết về địa điểm đó. Bạn có thể truy xuất thuộc tính cho tất cả các địa điểm đượ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 tương tự như attributions ở một nơi, như mô tả ở trên.

Hiển thị thuộc tính cho ảnh

Nếu ứng dụng của bạn hiển thị ảnh, bạn phải hiển thị thông tin ghi nhận tác giả cho mỗi ảnh có các ảnh đó. Để nhận ghi nhận tác giả 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 phân bổ 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 lưu giữ và hiển thị cho người dùng.

Bạn nên hiển thị các thuộc tính bằng UITextView vì các đường liên kết trong thuộc tính này phải hoạt động. Để đảm bảo các đường liên kết sẽ hoạt động, hãy thiết lập một đại biểu 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ề mô hình phân bổ 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ụ:

Danh sách của Example Company

Trong ví dụ trên, phạm vi văn bản của Công ty Ví dụ thuộc tính NSLink.

Xin lưu ý rằng mã địa điểm (dùng để nhận dạng duy nhất một địa điểm) không được áp dụng quy định hạn chế về việc lưu vào bộ nhớ đệm. Do đó, bạn có thể lưu trữ các giá trị mã địa điểm vô thời hạn. Mã địa điểm được trả về trong trường place_id trong SDK Địa điểm dành cho phản hồi cho iOS.

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

Sau đây là các nguyên tắc về kiểu cho thuộc tính 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 trống giữa bản sao ghi nhận tác giả và biểu trưng Google phải bằng một nửa chiều rộng của chữ "G".

Mức độ dễ đọc

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

Màu

Sử dụng văn bản Google Material Grey 700 trên nền trắng hoặc sáng, với dải màu đ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 các mẫu nhiếp ảnh hoặc không bận rộn, hãy sử dụng văn bản màu trắng để ghi tên tác giả và ghi nhận tác giả.

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

Phông chữ

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;