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ợ các Chi tiết địa điểm. Nếu bạn đã quen thuộc với SDK Địa điểm hiện có dành cho iOS, phiên bản Chi tiết địa điểm mới 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á cho 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 mà bạn muốn trả về trong câu trả lờ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, phương thức sẽ trả về một lỗi.

  • Để gửi yêu cầu, hãy gọi GMSPlacesClient fetchPlaceWithRequest: .

  • Chuyển đến yêu cầu:

    • Một phiên bản của GMSFetchPlaceRequest 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ã phiên hoạt động.

    • Lệnh gọi lại thuộc loại GMSPlaceResultCallback để xử lý phản hồi.

  • Phản hồi có chứa GMSPlace thực thể chứa thông tin chi tiết về địa điểm. Các giá trị trong types thuộc tính của thực thể GMSPlace hiện được xác định bởi Bảng ABảng B.

  • Thực thể GMSPlace của phản hồi chứa reviews mới thuộc tính loại GMSPlaceReview. Khi ứng dụng của bạn hiển thị thông tin thu được từ GMSPlace chẳng hạn như ảnh và bài đánh giá, ứng dụng cũng phải hiển thị thông tin ghi nhận sự đóng góp.

    Để biết thêm thông tin, hãy xem tài liệu về 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 xem một địa điểm có mở cửa tại thời điểm đã cho hay không.

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

    Các chức năng này chỉ sử dụng được khi bạn bật SDK Địa điểm dành cho iOS. Chúng không có sẵn khi bạn bật Địa điểm SDK 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 của bạn.

Yêu cầu mẫu

Với tính năng Chi tiết địa điểm (Mới), bạn đưa ra yêu cầu và truyền tất cả tham số trong thực thể GMSFetchPlaceRequest. Chiến dịch này Ví dụ này cũng sử dụng một mặt nạ trường để phản hồi chỉ chứa tên hiển thị và URL của 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);
  }
}];