Places SDK สำหรับ iOS รองรับ Place Photo ที่มีอยู่ หากคุณคุ้นเคยกับรูปภาพสถานที่ที่มีอยู่ รูปภาพสถานที่เวอร์ชันใหม่จะมีการเปลี่ยนแปลงต่อไปนี้
ใช้รูปแบบการกำหนดราคาใหม่ ดูข้อมูลราคาสำหรับ API ทั้งหมดได้ที่ราคาสำหรับ Places SDK สำหรับ iOS (ใหม่)
รูปภาพสถานที่ที่มีอยู่รองรับรูปภาพขนาดสูงสุด 1,600 x 1,600 พิกเซล รูปภาพสถานที่ (ใหม่)รองรับขนาดสูงสุด 4800 x 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 } }]; }];