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