ย้ายข้อมูลไปยังรูปภาพสถานที่ (ใหม่)

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
    }
  }];
}];