تتيح حزمة تطوير برامج الأماكن لأجهزة iOS ميزة Place Photo (القديمة). إذا كنت على دراية بميزة Place Photo (القديمة)، فإنّ ميزة Place Photo (الجديدة) تُجري التغييرات التالية:
تستخدم نموذج تسعير جديدًا. للاطّلاع على معلومات التسعير لجميع واجهات برمجة التطبيقات، يُرجى مراجعة مقالة التسعير في حزمة تطوير برامج الأماكن لأجهزة iOS (الجديدة).
كانت ميزة Place Photo (القديمة) تتيح حجمًا أقصى للصور يبلغ 1600 × 1600 بكسل. تتيح ميزة Place Photo (الجديدة) أحجامًا تصل إلى 4800 × 4800 بكسل.
لإجراء طلب، عليك استدعاء الطريقة الجديدة
GMSPlacesClient fetchPhotoWithRequest:callback:.عليك تمرير ما يلي إلى الطلب:
مثيل لفئة
GMSFetchPhotoRequestالجديدة التي تحدّد جميع مَعلمات الطلب، بما في ذلك الحد الأقصى لحجم الصورةدالة معاودة الاتصال من النوع
GMSPlacePhotoMetadataResultCallbackللتعامل مع الردّ
يتم تمثيل كل صورة بمثيل
GMSPlacePhotoMetadata. بالنسبة إلى حزمة تطوير برامج الأماكن لأجهزة 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 } }]; }];