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