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

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

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

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

  • หากต้องการส่งคำขอ ให้โทรหาหมายเลขโทรศัพท์ GMSPlacesClient fetchPlaceWithRequest:

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

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

    • Callback ประเภท GMSPlaceResultCallback ในการจัดการกับคำตอบ

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

  • อินสแตนซ์ 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, GMSPlaceProperty.website].map {$0.rawValue}

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

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

Objective-C

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

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

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

[placesClient fetchPlaceWithRequest: fetchPlaceRequest callback: ^(GMSPlace *_Nullable place, NSError *_Nullable error) {
    if (error != nil) {
      NSLog(@"An error occurred %@", [error localizedDescription]);
      return;
    } else {
    NSLog(@"Place Found: %@", place.name);
    NSLog(@"The place URL: %@", place.website);
  }
}];