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