Di chuyển đến thông tin chi tiết về địa điểm (Mới)

SDK Địa điểm dành cho iOS hỗ trợ Thông tin chi tiết về đị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, thì phiên bản mới của Thông tin chi tiết về địa điểm sẽ có những 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 bài viết Giá của SDK Địa điểm dành cho iOS (Mới).

  • Bạn phải che trường. Bạn phải chỉ định những trường mà bạn muốn được trả về trong phản hồi. Không có danh sách mặc định về 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.

  • Để gửi yêu cầu, hãy gọi phương thức GMSPlacesClient fetchPlaceWithRequest: mới.

  • Truyề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.

  • Nội dung phản hồi 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ính types của thực thể GMSPlace hiện được xác định bằng Bảng ABảng B.

  • Thực thể GMSPlace phản hồi chứa thuộc tính reviews mới thuộc loại GMSPlaceReview. Khi ứng dụng của bạn 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 thông tin phân bổ bắt buộc.

    Để biết thêm thông tin, hãy xem tài liệu về thuộc tính phân bổ.

  • Phiên bản GMSPlace phản hồi chứa các hàm thành viên sau:

    • isOpen tính toán xem một địa điểm có mở cửa vào thời điểm nhất định hay không.

    • 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ỉ hoạt động khi bạn bật SDK Địa điểm cho iOS. Các tính năng này sẽ không hoạt động 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ẽ tạo một yêu cầu và truyền tất cả các thông 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 của đị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);
  }
}];