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); } }];