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