Places SDK สำหรับ iOS รองรับรายละเอียดสถานที่ (เดิม) หากคุณคุ้นเคยกับ Places SDK สำหรับ iOS (เดิม) รายละเอียดสถานที่ (ใหม่) จะมีการเปลี่ยนแปลงต่อไปนี้
ใช้รูปแบบการกำหนดราคาใหม่ ดูข้อมูลราคาสำหรับ API ทั้งหมดได้ที่ราคาสำหรับ Places SDK สำหรับ iOS (ใหม่)
ต้องทำการมาสก์ฟิลด์ คุณต้องระบุช่องที่ต้องการให้แสดงในการตอบกลับ ไม่มีรายการเริ่มต้นของฟิลด์ที่แสดงผล หากคุณละเว้นรายการนี้ เมธอดจะแสดงข้อผิดพลาด
หากต้องการส่งคําขอ ให้เรียกใช้เมธอดใหม่
GMSPlacesClient fetchPlaceWithRequest:
ส่งไปยังคำขอ
อินสแตนซ์ของคลาส
GMSFetchPlaceRequest
ใหม่ซึ่งกําหนดพารามิเตอร์คําขอทั้งหมด เช่น รหัสสถานที่และโทเค็นเซสชันการเรียกกลับประเภท
GMSPlaceResultCallback
เพื่อจัดการกับการตอบกลับ
การตอบกลับจะมีอินสแตนซ์
GMSPlace
ที่มีรายละเอียดเกี่ยวกับสถานที่ ตอนนี้ค่าในพร็อพเพอร์ตี้types
ของอินสแตนซ์GMSPlace
กำหนดโดยตาราง กและตาราง ขอินสแตนซ์
GMSPlace
ของการตอบกลับมีพร็อพเพอร์ตี้reviews
ใหม่ประเภทGMSPlaceReview
เมื่อแอปแสดงข้อมูลที่ได้จากGMSPlace
ตัวอย่าง เช่น รูปภาพและรีวิว แอปจะต้องแสดงการระบุแหล่งที่มาที่จําเป็นด้วยดูข้อมูลเพิ่มเติมได้ที่เอกสารประกอบเกี่ยวกับการระบุแหล่งที่มา
อินสแตนซ์
GMSPlace
ของคำตอบมีฟังก์ชันสมาชิกต่อไปนี้isOpen
คำนวณว่าสถานที่เปิดทำการหรือไม่ ณ เวลาหนึ่งๆisOpenAtDate
คำนวณว่าสถานที่เปิดทำการในวันที่ที่ระบุหรือไม่
ฟังก์ชันเหล่านี้จะใช้งานได้เมื่อคุณเปิดใช้ Places SDK สําหรับ iOS เท่านั้น ฟีเจอร์เหล่านี้จะไม่พร้อมใช้งานเมื่อคุณเปิดใช้ Places SDK สำหรับ iOS (ใหม่) โปรดดูข้อมูลเพิ่มเติมที่หัวข้อเลือกเวอร์ชัน SDK
ตัวอย่างคำขอ
เมื่อใช้รายละเอียดสถานที่ (ใหม่) คุณจะส่งคําขอและส่งพารามิเตอร์ทั้งหมดในอินสแตนซ์ GMSFetchPlaceRequest
ตัวอย่างนี้ยังใช้การมาสก์ช่องเพื่อให้การตอบกลับมีเฉพาะชื่อที่แสดงและ URL ของเว็บไซต์สำหรับสถานที่
// 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))") })
// 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); } }];