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 ของเว็บไซต์สำหรับสถานที่
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); } }];