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