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

Places SDK สำหรับ iOS รองรับ Place Photo ที่มีอยู่ หากคุณคุ้นเคยกับรูปภาพสถานที่ที่มีอยู่เดิม รูปภาพสถานที่เวอร์ชันใหม่จะทำการเปลี่ยนแปลงต่อไปนี้

  • ใช้รูปแบบการกำหนดราคาใหม่ ดูข้อมูลราคาสำหรับ API ทั้งหมดได้ที่ราคาสำหรับ Places SDK สำหรับ iOS (ใหม่)

  • รูปภาพสถานที่ที่มีอยู่รองรับรูปภาพขนาดสูงสุด 1,600 x 1600 พิกเซล รูปภาพสถานที่ (ใหม่) รองรับขนาดไม่เกิน 4,800 x 4800 พิกเซล

  • หากต้องการส่งคำขอ ให้เรียกใช้เมธอด GMSPlacesClient lookUpPhotosForPlaceID: ใหม่โดยส่งรหัสสถานที่เป็นสตริง

  • ส่งไปยังคำขอ 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 = photos.first else { return }

  // Request individual photos in the response list
  let fetchPhotoRequest = GMSFetchPhotoRequest(metadata: photoMetadata, maxSize: CGSizeMake(4800, 4800)
  placesClient.fetchPhoto(fetchPhotoRequest: fetchPhotoRequest, callback: {
    (photoURL: URL?, error: Error?) in
      guard let photoURL, error == nil else { return }
      print("Photo URL: \(photoURL)")
  })
};

Objective-C

// A hotel in Saigon with an attribution.
NSString *placeID = @"ChIJV4k8_9UodTERU5KXbkYpSYs";

[placesClient lookUpPhotosForPlaceID:placeID callback: (GMSPlacePhotoMetadataList *list, NSError *error) {
  GMSPlacePhotoMetadata *photoMetadata = [list firstObject];

  if (photoMetadata == nil) { return }

  // Request individual photos in the response list
  GMSFetchPhotoRequest *fetchPhotoRequest = [[GMSFetchPhotoRequest alloc] initWithPhotoMetadata:photoMetadata maxSize:CGSizeMake(4800, 4800)];
  [placesClient fetchPhoto:fetchPhotoRequest, callback: ^(NSURL *_Nullable photoURL, NSError *_Nullable error) {
    if (error == null) {
      NSLog(@"Photo URL: %@", photoURL)
    }
  }];
}];