SDK Địa điểm dành cho iOS hỗ trợ Ảnh địa điểm hiện có. Nếu bạn đã quen thuộc với Ảnh địa điểm hiện tại, thì phiên bản mới của Ảnh địa điểm 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ả API, hãy xem bài viết Giá của SDK Địa điểm dành cho iOS (Mới).
Ảnh địa điểm hiện tại 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.Truyền vào yêu cầu:
Một thực thể của lớp
GMSFetchPhotoRequest
mới xác định tất cả các thông 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 bức ảnh đượ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ườngauthorAttribution
mới được biểu thị bằng lớpGMSPlaceAuthorAttribution
mới.Nếu thực thể
GMSPlacePhotoMetadata
được trả về bao gồmattributions
hoặcauthorAttribution
, bạn phải đưa các thuộc tính này vào ứng dụng bất cứ khi nào hiển thị hình ảnh. Xem tài liệu về thuộc tính.
Yêu cầu mẫu
Phương thức mẫu 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 } }]; }];