تتوافق حزمة تطوير برامج "الأماكن" لأجهزة 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 } }]; }];