Places SDK สำหรับ iOS รองรับรายละเอียดสถานที่ (เดิม) หากคุณคุ้นเคยกับ Places SDK สำหรับ iOS (เดิม) รายละเอียดสถานที่ (ใหม่) จะทำการเปลี่ยนแปลงต่อไปนี้
ใช้รูปแบบการกำหนดราคาใหม่ ดูข้อมูลราคาสำหรับ API ทั้งหมดได้ที่ราคาสำหรับ Places SDK สำหรับ iOS (ใหม่)
ต้องมีการมาสก์ฟิลด์ คุณต้องระบุช่องที่ต้องการให้แสดงผล ในการตอบกลับ ไม่มีรายการฟิลด์ที่แสดงผลเริ่มต้น หากคุณละเว้น รายการนี้ เมธอดจะแสดงข้อผิดพลาด
หากต้องการส่งคำขอ ให้เรียกใช้เมธอด new
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); } }];