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

‏Places SDK ל-iOS תומך בתמונה של מקום (גרסה קודמת). אם אתם מכירים את התכונה 'תמונה של מקום' (מהדורה קודמת), תמונה של מקום (מהדורה חדשה) כוללת את השינויים הבאים:

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

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

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

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

  • כל תמונה מיוצגת על ידי מופע של GMSPlacePhotoMetadata. ב-Places SDK ל-iOS (חדש), המופע GMSPlacePhotoMetadata מכיל שדה חדש authorAttribution שמיוצג על ידי המחלקה החדשה GMSPlaceAuthorAttribution.

    אם מופע GMSPlacePhotoMetadata המוחזר כולל את הערכים attributions או authorAttribution, עליכם לכלול את השיוך הזה באפליקציה בכל מקום שבו אתם מציגים את התמונה. מידע נוסף זמין במאמר בנושא שיוך.

בקשה לדוגמה

בשיטה לדוגמה הבאה, מזינים מזהה מקום ומקבלים את התמונה הראשונה ברשימה שמוחזרת. אפשר להשתמש בשיטה הזו בתור תבנית לשיטה שתיצרו באפליקציה שלכם.

// 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: ")
    }
  )
}
// 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
    }
  }];
}];