SDK Địa điểm dành cho iOS hỗ trợ Chi tiết địa điểm hiện có. Nếu bạn đã quen thuộc với SDK Địa điểm hiện có dành cho iOS, phiên bản mới của Chi tiết địa điểm sẽ thực hiện các thay đổi sau:
Sử dụng mô hình định giá mới. Để biết thông tin về giá của tất cả API, hãy xem Đặt giá cho SDK Địa điểm dành cho iOS (Mới).
Bắt buộc phải che trường. Bạn phải chỉ định những trường muốn được trả về trong phản hồi. Không có danh sách mặc định các trường được trả về. Nếu bạn bỏ qua danh sách này, các phương thức sẽ trả về lỗi.
Để đưa ra yêu cầu, hãy gọi phương thức
GMSPlacesClient fetchPlaceWithRequest:
mới.Chuyển đến yêu cầu:
Một thực thể của lớp
GMSFetchPlaceRequest
mới xác định tất cả các tham số yêu cầu, chẳng hạn như mã địa điểm và mã thông báo phiên.Lệnh gọi lại thuộc loại
GMSPlaceResultCallback
để xử lý phản hồi.
Phản hồi này chứa một thực thể
GMSPlace
chứa thông tin chi tiết về địa điểm. Các giá trị trong thuộc tínhtypes
của thực thểGMSPlace
hiện được xác định bằng Bảng A và Bảng B.Thực thể
GMSPlace
của phản hồi chứa thuộc tínhreviews
mới thuộc loạiGMSPlaceReview
. Khi hiển thị thông tin thu được từ thực thểGMSPlace
, chẳng hạn như ảnh và bài đánh giá, ứng dụng cũng phải hiển thị các thuộc tính bắt buộc.Để biết thêm thông tin, hãy xem tài liệu về mô hình phân bổ.
Thực thể
GMSPlace
của phản hồi chứa các hàm thành phần sau:isOpen
tính toán việc một địa điểm có mở cửa hay không tại một thời điểm nhất định.isOpenAtDate
tính toán xem một địa điểm có mở cửa vào một ngày cụ thể hay không.
Các hàm này chỉ có sẵn khi bạn bật SDK Địa điểm cho iOS. Các thành phần này không có sẵn khi bạn bật SDK Địa điểm dành cho iOS (Mới). Để biết thêm thông tin, hãy xem phần Chọn phiên bản SDK.
Yêu cầu mẫu
Với Thông tin chi tiết về địa điểm (Mới), bạn sẽ đưa ra yêu cầu và truyền tất cả tham số trong thực thể GMSFetchPlaceRequest
. Ví dụ này cũng sử dụng mặt nạ trường để phản hồi chỉ bao gồm tên hiển thị và URL trang web cho địa điểm:
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); } }];