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