Di chuyển đến ảnh địa điểm (Mới)

Places SDK for iOS hỗ trợ Ảnh địa điểm (Cũ). Nếu bạn đã quen thuộc với Ảnh địa điểm (Phiên bản cũ), thì Ảnh địa điểm (Phiên bản mới) sẽ có những thay đổi sau:

  • Sử dụng mô hình định giá mới. Để biết thông tin về giá của tất cả các API, hãy xem Giá của Places SDK cho iOS (Mới).

  • Ảnh về địa điểm (phiên bản cũ) hỗ trợ kích thước ảnh tối đa là 1600 x 1600 pixel. Ảnh địa điểm (Mới) hỗ trợ kích thước lên đến 4800 x 4800 pixel.

  • Để đưa ra yêu cầu, hãy gọi phương thức GMSPlacesClient fetchPhotoWithRequest:callback: mới.

  • Truyền đến yêu cầu:

  • Mỗi bức ảnh được biểu thị bằng một phiên bản GMSPlacePhotoMetadata. Đối với Places SDK for iOS (Mới), thực thể GMSPlacePhotoMetadata chứa một trường authorAttribution mới do lớp GMSPlaceAuthorAttribution mới đại diện.

    Nếu phiên bản GMSPlacePhotoMetadata được trả về có chứa attributions hoặc authorAttribution, bạn phải đưa những thông tin ghi nhận quyền tác giả này vào ứng dụng của mình bất cứ khi nào bạn hiển thị hình ảnh. Xem tài liệu về phân bổ.

Ví dụ về yêu cầu

Phương thức ví dụ sau đây lấy mã địa điểm và nhận ảnh đầu tiên trong danh sách được trả về. Bạn có thể sử dụng phương thức này làm mẫu cho phương thức mà bạn sẽ tạo trong ứng dụng của riêng mình.

Swift

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

// Request list of photos for a place
placesClient.lookUpPhotos(forPlaceID: placeID) { (photos, error) in

  guard let photoMetadata: GMSPlacePhotoMetadata = photos?.results[0] else {
    return }

  // Request individual photos in the response list
  let fetchPhotoRequest = GMSFetchPhotoRequest(photoMetadata: photoMetadata, maxSize: CGSizeMake(4800, 4800))
  self.client.fetchPhoto(with: fetchPhotoRequest, callback: {
    (photoImage: UIImage?, error: Error?) in
      guard let photoImage, error == nil else {
        print("Handle photo error: ")
        return }
      print("Display photo Image: ")
    }
  )
}

Objective-C

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

[placesClient lookUpPhotosForPlaceID:placeID callback: ^(GMSPlacePhotoMetadataList *list, NSError *error) {
  GMSPlacePhotoMetadata *photoMetadata = [list results][0];

  // Request individual photos in the response list
  GMSFetchPhotoRequest *fetchPhotoRequest = [[GMSFetchPhotoRequest alloc] initWithPhotoMetadata:photoMetadata maxSize:CGSizeMake(4800, 4800)];
  [placesClient fetchPhotoWithRequest:fetchPhotoRequest callback: ^(UIImage *_Nullable photoImage, NSError *_Nullable error) {
    if (error == nil) {
      // Display photo
    }
  }];
}];