تتيح حزمة تطوير البرامج (SDK) القديمة الخاصة بخدمة "أماكن Google" لأجهزة iOS استخدام صور الأماكن (الإصدار القديم). إذا كنت معتادًا على ميزة "صور الأماكن" (الإصدار القديم)، تُجري ميزة صور الأماكن (الإصدار الجديد) التغييرات التالية:
يستخدم نموذج أسعار جديدًا. للحصول على معلومات الأسعار الخاصة بجميع واجهات برمجة التطبيقات، يُرجى الاطّلاع على الاستخدام والفوترة.
كانت ميزة "صور الأماكن" (الإصدار القديم) تتيح حجمًا أقصى للصور يبلغ 1600 × 1600 بكسل. تتيح "صور الأماكن" (جديدة) أحجامًا تصل إلى 4800 × 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 } }]; }];