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

SDK Địa điểm dành cho iOS hỗ trợ Ảnh địa điểm hiện có. Nếu bạn đã quen với Ảnh địa điểm hiện có, phiên bản mới của Ảnh địa điểm sẽ thực hiện các 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ả API, hãy xem Đặt giá cho SDK Địa điểm dành cho iOS (Mới).

  • Ảnh địa điểm hiện có hỗ trợ kích thước ảnh tối đa là 1600 x 1600 pixel. Place Photo (Mới) hỗ trợ kích thước lên tới 4800 x 4800 pixel.

  • Để đưa ra yêu cầu, hãy gọi phương thức GMSPlacesClient lookUpPhotosForPlaceID: mới, truyền mã địa điểm dưới dạng một chuỗi.

  • Truyền vào yêu cầu một lệnh gọi lại thuộc loại GMSPlacePhotoMetadataResultCallback để xử lý phản hồi.

  • Mỗi ảnh trong phản hồi được biểu thị bằng một thực thể GMSPlacePhotoMetadata. Đối với SDK Địa điểm dành cho iOS (Mới), thực thể GMSPlacePhotoMetadata chứa trường authorAttribution mới được biểu thị bằng lớp GMSPlaceAuthorAttribution mới.

    Nếu thực thể GMSPlacePhotoMetadata được trả về bao gồm attributions hoặc authorAttribution, bạn phải đưa các thuộc tính này vào ứng dụng của mình ở bất cứ nơi nào hiển thị hình ảnh. Vui lòng xem tài liệu về mô hình phân bổ.

Yêu cầu mẫu

Phương thức ví dụ sau đây sẽ lấy một mã địa điểm và tải ảnh đầu tiên trong danh sách 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 = photos.first else { return }

  // Request individual photos in the response list
  let fetchPhotoRequest = GMSFetchPhotoRequest(metadata: photoMetadata, maxSize: CGSizeMake(4800, 4800)
  placesClient.fetchPhoto(fetchPhotoRequest: fetchPhotoRequest, callback: {
    (photoURL: URL?, error: Error?) in
      guard let photoURL, error == nil else { return }
      print("Photo URL: \(photoURL)")
  })
};

Objective-C

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

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

  if (photoMetadata == nil) { return }

  // Request individual photos in the response list
  GMSFetchPhotoRequest *fetchPhotoRequest = [[GMSFetchPhotoRequest alloc] initWithPhotoMetadata:photoMetadata maxSize:CGSizeMake(4800, 4800)];
  [placesClient fetchPhoto:fetchPhotoRequest, callback: ^(NSURL *_Nullable photoURL, NSError *_Nullable error) {
    if (error == null) {
      NSLog(@"Photo URL: %@", photoURL)
    }
  }];
}];