העברה למיקום תמונה (חדש)

‫Places SDK ל-iOS תומך ב-Place Photo (מדור קודם). אם אתם מכירים את Place Photo (מדור ישן), Place Photo (חדש) כולל את השינויים הבאים:

  • משתמש במודל תמחור חדש. מידע על תמחור של כל ממשקי ה-API זמין במאמר תמחור של Places SDK ל-iOS (חדש).

  • ב-Place Photo (Legacy) היה אפשר להעלות תמונות בגודל מקסימלי של ‎1,600 x 1,600 פיקסלים. התכונה 'תמונה של המקום' (חדשה) תומכת בגדלים של עד ‎4,800 x 4,800 פיקסלים.

  • כדי לשלוח בקשה, צריך להפעיל את השיטה החדשה GMSPlacesClient fetchPhotoWithRequest:callback:.

  • מעבירים לבקשה:

  • כל תמונה מיוצגת על ידי מופע של 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
    }
  }];
}];