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