ย้ายไปที่รายละเอียดสถานที่ (ใหม่)

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

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

  • ต้องมาสก์ช่อง คุณต้องระบุฟิลด์ที่ต้องการแสดงผลในคำตอบ ไม่มีรายการเริ่มต้นของฟิลด์ที่แสดงผล หากคุณไม่ใส่รายการนี้ เมธอดจะแสดงข้อผิดพลาด

  • หากต้องการส่งคำขอ ให้เรียกใช้เมธอด GMSPlacesClient fetchPlaceWithRequest: ใหม่

  • ส่งไปยังคำขอ:

    • อินสแตนซ์ของคลาส GMSFetchPlaceRequest ใหม่ที่กำหนดพารามิเตอร์คำขอทั้งหมด เช่น รหัสสถานที่และโทเค็นเซสชัน

    • Callback ประเภท GMSPlaceResultCallback เพื่อจัดการการตอบกลับ

  • การตอบกลับมีอินสแตนซ์ GMSPlace ที่มีรายละเอียดเกี่ยวกับสถานที่ ตอนนี้ตาราง A และตาราง B ได้กำหนดค่าในพร็อพเพอร์ตี้ types ของอินสแตนซ์ GMSPlace แล้ว

  • อินสแตนซ์ GMSPlace ของการตอบกลับมีพร็อพเพอร์ตี้ reviews ใหม่ประเภท GMSPlaceReview เมื่อแอปแสดงข้อมูลที่ได้จากอินสแตนซ์ GMSPlace เช่น รูปภาพและรีวิว แอปจะต้องแสดงการระบุแหล่งที่มาที่จำเป็นด้วย

    สำหรับข้อมูลเพิ่มเติม โปรดดูเอกสารเกี่ยวกับการระบุแหล่งที่มา

  • อินสแตนซ์ GMSPlace ของการตอบกลับมีฟังก์ชันสมาชิกต่อไปนี้

    • isOpen คำนวณว่าสถานที่นั้นๆ เปิดในเวลาที่ระบุหรือไม่

    • isOpenAtDate คำนวณว่าสถานที่เปิดในวันที่ที่ระบุหรือไม่

    ฟังก์ชันเหล่านี้จะใช้ได้เมื่อคุณเปิดใช้ Places SDK สำหรับ iOS เท่านั้น โดยจะใช้ไม่ได้เมื่อคุณเปิดใช้ Places SDK สำหรับ iOS (ใหม่) ดูข้อมูลเพิ่มเติมได้ที่เลือกเวอร์ชัน SDK

ตัวอย่างคำขอ

เมื่อใช้รายละเอียดสถานที่ (ใหม่) คุณจะส่งคำขอและส่งต่อพารามิเตอร์ทั้งหมดในอินสแตนซ์ GMSFetchPlaceRequest ตัวอย่างนี้ยังใช้มาสก์ช่องเพื่อให้การตอบกลับมีเฉพาะชื่อที่แสดงและ URL ของเว็บไซต์ของสถานที่ด้วย

Swift

// A hotel in Saigon with an attribution.
let placeID = "ChIJV4k8_9UodTERU5KXbkYpSYs"

// Specify the place data types to return.
let fields: [GMSPlaceProperty] = [.name, .website]

// Create the GMSFetchPlaceRequest instance.
let fetchPlaceRequest = GMSFetchPlaceRequest(placeID: placeID, placeProperties: fields)

client.fetchPlaceWithRequest(fetchPlaceRequest: fetchPlaceRequest, callback: {
  (place: GMSPlace?, error: Error?) in
  guard let place, error == nil else { return }
  print("Place found: \(place.name)")
})

Objective-C

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

// Specify the place data types to return.
NSArray<GMSPlaceProperty *> *fields = @[GMSPlacePropertyName, GMSPlacePropertyWebsite];

// Create the GMSFetchPlaceRequest instance.
GMSFetchPlaceRequest *fetchPlaceRequest = [[GMSFetchPlaceRequest alloc] initWithPlaceID:placeID placeProperties: fields];

[placesClient fetchPlaceWithRequest: fetchPlaceRequest, callback: ^(GMSPlace *_Nullable place, NSError *_Nullable error) {
  if (error == null) {
    NSLog(@"Place Found: %@", place.name);
  }
}];