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