SDK Địa điểm cho iOS (Phiên bản cũ) hỗ trợ Ảnh địa điểm (Phiên bản cũ). Nếu bạn đã quen thuộc với Place Photos (Cũ), thì Place Photos (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á cho tất cả API, hãy xem phần Mức sử dụng và thanh toán.
Ảnh đị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.
Để gửi yêu cầu, hãy gọi phương thức
GMSPlacesClient fetchPhotoWithRequest:callback:mới.Chuyển đến yêu cầu:
Một thực thể của lớp
GMSFetchPhotoRequestmới xác định tất cả các tham số yêu cầu, bao gồm cả kích thước hình ảnh tối đa.Lệnh gọi lại thuộc loại
GMSPlacePhotoMetadataResultCallbackđể xử lý phản hồi.
Mỗi ảnh được biểu thị bằng một thực thể
GMSPlacePhotoMetadata. Đối với Places SDK cho iOS (Mới), thực thểGMSPlacePhotoMetadatachứa một trườngauthorAttributionmới được biểu thị bằng lớpGMSPlaceAuthorAttributionmới.Nếu thực thể
GMSPlacePhotoMetadatađược trả về có chứaattributionshoặcauthorAttribution, thì bạn phải đưa các thông tin ghi nhận tác giả này vào ứng dụng của mình ở bất cứ nơi nào bạn hiển thị hình ảnh. Hãy xem tài liệu về thông tin ghi nhận tác giả.
Yêu cầu mẫu
Phương thức ví dụ sau đây lấy mã địa điểm và lấy ả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 } }]; }];