जगह की फ़ोटो की सुविधा पर माइग्रेट करना (नई सुविधा)

Places SDK for iOS (लेगसी), Place Photos (लेगसी) के साथ काम करता है. अगर आपको Place Photos (लेगसी) के बारे में जानकारी है, तो Place Photos (नया) में ये बदलाव किए गए हैं:

  • कीमत तय करने के नए मॉडल का इस्तेमाल करता है. सभी एपीआई की कीमत के बारे में जानकारी के लिए, इस्तेमाल और बिलिंग देखें.

  • Place Photos (लेगसी) में, ज़्यादा से ज़्यादा 1600 x 1600 पिक्सल की फ़ोटो इस्तेमाल की जा सकती थी. Place Photos (नई सुविधा) में 4800 x 4800 पिक्सल तक की इमेज इस्तेमाल की जा सकती हैं.

  • अनुरोध करने के लिए, नए GMSPlacesClient fetchPhotoWithRequest:callback: तरीके का इस्तेमाल करें.

  • अनुरोध में पास करें:

    • नई GMSFetchPhotoRequest क्लास का एक इंस्टेंस, जो अनुरोध के सभी पैरामीटर तय करता है. इसमें इमेज का ज़्यादा से ज़्यादा साइज़ भी शामिल है.

    • जवाब को मैनेज करने के लिए, GMSPlacePhotoMetadataResultCallback टाइप का कॉलबैक.

  • हर फ़ोटो को GMSPlacePhotoMetadata इंस्टेंस के तौर पर दिखाया जाता है. Places SDK for 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
    }
  }];
}];