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