Places SDK ל-iOS (דור קודם) תומך ב-Place Photos (דור קודם). אם אתם מכירים את Place Photos (מדור קודם), Place Photos (חדש) כולל את השינויים הבאים:
משתמש במודל תמחור חדש. למידע על התמחור של כל ממשקי ה-API, קראו את המאמר שימוש וחיוב.
בגרסה הקודמת של Place Photos, הגודל המקסימלי של התמונות היה 1,600 x 1,600 פיקסלים. התכונה "תמונות של מקומות (חדש)" תומכת בגדלים של עד 4,800 על 4,800 פיקסלים.
כדי לשלוח בקשה, מפעילים את ה-method החדשה
GMSPlacesClient fetchPhotoWithRequest:callback:.מעבירים לבקשה:
מופע של המחלקה החדשה
GMSFetchPhotoRequestשמגדירה את כל הפרמטרים של הבקשה, כולל גודל התמונה המקסימלי.קריאה חוזרת (callback) מסוג
GMSPlacePhotoMetadataResultCallbackלטיפול בתגובה.
כל תמונה מיוצגת על ידי מופע של
GMSPlacePhotoMetadata. ב-Places SDK ל-iOS (חדש), המכונהGMSPlacePhotoMetadataמכילה שדה חדש,authorAttribution, שמיוצג על ידי המחלקה החדשהGMSPlaceAuthorAttribution.אם המופע של
GMSPlacePhotoMetadataשמוחזר כולל אתattributionsאו אתauthorAttribution, צריך לכלול את השיוכים האלה באפליקציה בכל מקום שבו מוצגת התמונה. מידע נוסף על שיוך (Attribution)
דוגמה לבקשה
השיטה הבאה מקבלת מזהה מקום ומחזירה את התמונה הראשונה ברשימה. אתם יכולים להשתמש בשיטה הזו כתבנית לשיטה שתיצרו באפליקציה שלכם.
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 } }]; }];