Bạn có thể yêu cầu thêm thông tin chi tiết về một cơ sở hoặc điểm tham quan cụ thể bằng cách sử dụng mã nhận dạng địa điểm của cơ sở hoặc điểm tham quan đó và tạo yêu cầu Thông tin chi tiết về địa điểm (Mới). Chi tiết về địa điểm (Mới) trả về thông tin toàn diện hơn về địa điểm được chỉ định, chẳng hạn như địa chỉ đầy đủ, số điện thoại, điểm xếp hạng và bài đánh giá của người dùng.
Có nhiều cách để lấy mã địa điểm. Bạn có thể sử dụng:
Yêu cầu về Thông tin chi tiết về địa điểm (Mới)
Bạn có thể yêu cầu thông tin chi tiết về địa điểm bằng cách gọi PlacesClient.fetchPlace()
và truyền đối tượng FetchPlaceRequest
chứa mã địa điểm và danh sách trường, cũng như mọi tham số tuỳ chọn:
// Define a place ID.
final String placeId = "INSERT_PLACE_ID_HERE";
// Specify the list of fields to return.
final List<Place.Field> placeFields = Arrays.asList("INSERT_PLACE_FIELDS_HERE");
// Construct a request object, passing the place ID and field list.
final FetchPlaceRequest request = FetchPlaceRequest.newInstance(placeId, placeFields);
// Pass the request object and make the request
Task<FetchPlaceResponse> placeTask = placesClient.fetchPlace(request);
Phản hồi về thông tin chi tiết về địa điểm (Mới)
Chi tiết địa điểm (Mới) trả về dữ liệu ở dạng đối tượng Place
. Đối tượng này chỉ bao gồm các trường mà bạn đã yêu cầu bằng cách sử dụng danh sách trường. Kết quả dữ liệu về địa điểm không được để trống, vì vậy, chỉ những kết quả về địa điểm có dữ liệu mới được trả về (ví dụ: nếu một địa điểm được yêu cầu không có ảnh, thì trường ảnh sẽ không xuất hiện trong kết quả).
Để truy cập vào các trường dữ liệu, hãy gọi phương thức tương ứng.
Ví dụ: để truy cập vào tên địa điểm, hãy gọi getName()
.
Thông số bắt buộc
Các tham số bắt buộc cho FetchPlaceRequest
là:
-
Mã địa điểm
Giá trị nhận dạng dạng văn bản giúp xác định duy nhất một địa điểm, được trả về từ tính năng Tìm kiếm bằng văn bản (Mới), Tìm kiếm lân cận (Mới) hoặc Tự động hoàn thành (Mới). Để biết thêm thông tin về mã địa điểm, hãy xem bài viết tổng quan về mã địa điểm.
-
Danh sách trường
Khi yêu cầu một địa điểm, bạn phải chỉ định dữ liệu địa điểm cần trả về. Để thực hiện việc này, hãy truyền danh sách các giá trị
Place.Field
chỉ định dữ liệu cần trả về. Không có danh sách mặc định về các trường được trả về trong phản hồi.Danh sách trường là một phương pháp thiết kế hay để đảm bảo rằng bạn không yêu cầu dữ liệu không cần thiết, giúp tránh thời gian xử lý và phí thanh toán không cần thiết.Danh sách này là một yếu tố quan trọng cần cân nhắc vì nó ảnh hưởng đến chi phí cho mỗi yêu cầu. Để biết thêm thông tin, hãy xem phần Mức sử dụng và thanh toán.
Chỉ định một hoặc nhiều trường sau:
Các trường sau đây sẽ kích hoạt SKU Chi tiết địa điểm (chỉ mã nhận dạng):
Place.Field.DISPLAY_NAME
,Place.Field.ID
,Place.Field.PHOTO_METADATAS
,Place.Field.RESOURCE_NAME
Các trường sau đây sẽ kích hoạt SKU Thông tin chi tiết về địa điểm (Chỉ vị trí):
Place.Field.ADDRESS_COMPONENTS
,ADR_FORMAT_ADDRESS
,Place.Field.FORMATTED_ADDRESS
,Place.Field.LOCATION
,Place.Field.PLUS_CODE
,Place.Field.SHORT_FORMATTED_ADDRESS
,Place.Field.TYPES
,Place.Field.VIEWPORT
Các trường sau đây sẽ kích hoạt SKU Chi tiết địa điểm (Cơ bản):
Place.Field.ACCESSIBILITY_OPTIONS
,Place.Field.BUSINESS_STATUS
,Place.Field.GOOGLE_MAPS_URI
,Place.Field.ICON_BACKGROUND_COLOR
,Place.Field.ICON_MASK_URL
,Place.Field.PRIMARY_TYPE
,Place.Field.PRIMARY_TYPE_DISPLAY_NAME
,Place.Field.SUB_DESTINATIONS
,Place.Field.UTC_OFFSET
Các trường sau đây sẽ kích hoạt SKU Chi tiết địa điểm (Nâng cao):
Place.Field.CURRENT_OPENING_HOURS
,Place.Field.CURRENT_SECONDARY_OPENING_HOURS
Place.Field.INTERNATIONAL_PHONE_NUMBER
,Place.Field.NATIONAL_PHONE_NUMBER
Place.Field.OPENING_HOURS
,Place.Field.PRICE_LEVEL
,Place.Field.RATING
,Place.Field.SECONDARY_OPENING_HOURS
,Place.Field.USER_RATING_COUNT
Place.Field.WEBSITE_URI
Các trường sau đây sẽ kích hoạt SKU Thông tin chi tiết về địa điểm (Ưu tiên):
Place.Field.ALLOWS_DOGS
,Place.Field.CURBSIDE_PICKUP
,Place.Field.DELIVERY
,Place.Field.DINE_IN
,Place.Field.EDITORIAL_SUMMARY
,Place.Field.EV_CHARGE_OPTIONS
,Place.Field.FUEL_OPTIONS
,Place.Field.GOOD_FOR_CHILDREN
,Place.Field.GOOD_FOR_GROUPS
,Place.Field.GOOD_FOR_WATCHING_SPORTS
,Place.Field.LIVE_MUSIC
,Place.Field.MENU_FOR_CHILDREN
,Place.Field.OUTDOOR_SEATING
,Place.Field.PARKING_OPTIONS
,Place.Field.PAYMENT_OPTIONS
,Place.Field.RESERVABLE
,Place.Field.RESTROOM
,Place.Field.REVIEWS
,Place.Field.SERVES_BEER
,Place.Field.SERVES_BREAKFAST
,Place.Field.SERVES_BRUNCH
,Place.Field.SERVES_COCKTAILS
,Place.Field.SERVES_COFFEE
,Place.Field.SERVES_DESSERT
,Place.Field.SERVES_DINNER
,Place.Field.SERVES_LUNCH
,Place.Field.SERVES_VEGETARIAN_FOOD
,Place.Field.SERVES_WINE
,Place.Field.TAKEOUT
Thông số tùy chọn
Các tham số không bắt buộc cho FetchPlaceRequest
là:
Mã vùng
Mã khu vực dùng để định dạng phản hồi, được chỉ định dưới dạng giá trị mã CLDR gồm hai chữ cái. Không có giá trị mặc định.
Nếu tên quốc gia của trường
Place.Field.FORMATTED_ADDRESS
trong phản hồi khớp vớiregionCode
, thì mã quốc gia sẽ bị bỏ qua khỏiPlace.Field.FORMATTED_ADDRESS
.Hầu hết mã CLDR giống hệt với mã ISO 3166-1, ngoại trừ một số trường hợp ngoại lệ đáng chú ý. Ví dụ: ccTLD của Vương quốc Anh là "uk" (.co.uk) trong khi mã ISO 3166-1 là "gb" (về mặt kỹ thuật là cho thực thể "Vương quốc Anh và Bắc Ireland"). Thông số này có thể ảnh hưởng đến kết quả dựa trên luật hiện hành.
Để đặt tham số mã khu vực, hãy gọi phương thức
setRegionCode()
khi tạo đối tượngFetchPlaceRequest
.-
Mã thông báo phiên
Mã thông báo phiên là các chuỗi do người dùng tạo, theo dõi các lệnh gọi Tự động hoàn thành (Mới) dưới dạng "phiên". Tính năng Tự động hoàn thành (Mới) sử dụng mã thông báo phiên để nhóm các giai đoạn lựa chọn truy vấn và vị trí của một lượt tìm kiếm tự động hoàn thành của người dùng vào một phiên riêng biệt cho mục đích thanh toán. Mã thông báo phiên được truyền vào các lệnh gọi Thông tin chi tiết về địa điểm (Mới) theo sau các lệnh gọi Tự động hoàn thành (Mới). Để biết thêm thông tin, hãy xem phần Mã thông báo phiên.
Để đặt tham số mã thông báo phiên, hãy gọi phương thức
setSessionToken()
khi tạo đối tượngFetchPlaceRequest
.
Ví dụ về Thông tin chi tiết về địa điểm
Ví dụ sau yêu cầu các trường ID
, DISPLAY_NAME
và FORMATTED_ADDRESS
cho Toà nhà Empire State ở Thành phố New York.
// Define a place ID.
final String placeId = "ChIJaXQRs6lZwokRY6EFpJnhNNE";
// Specify the list of fields to return.
final List<Place.Field> placeFields = Arrays.asList(Place.Field.ID, Place.Field.DISPLAY_NAME, Place.Field.FORMATTED_ADDRESS);
// Construct a request object, passing the place ID and field list.
final FetchPlaceRequest request = FetchPlaceRequest.newInstance(placeId, placeFields);
// Pass the request object and make the request
Task<FetchPlaceResponse> placeTask = placesClient.fetchPlace(request);