Bạn có thể yêu cầu thêm thông tin chi tiết về một cơ sở hoặc địa điểm cụ thể sở thích bằng cách sử dụng vị trí của nó và tạo một Yêu cầu Chi tiết địa điểm (Mới). Trả về thông tin chi tiết về địa điểm (Mới) đầy đủ hơn thông tin về địa điểm được chỉ định, chẳng hạn như địa chỉ đầy đủ, số điện thoại số lượng, xếp hạng của người dùng và bài đánh giá.
Có nhiều cách để lấy mã địa điểm. Bạn có thể sử dụng:
Yêu cầu Chi tiết địa điểm (Mới)
Bạn có thể yêu cầu chi tiết địa điểm bằng cách gọi
PlacesClient.fetchPlace()
và chuyển một
FetchPlaceRequest
đối tượng chứa mã địa điểm và danh sách trường, cũng như
dưới dạng thông số không bắt buộc:
// 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);
Câu trả lời cho 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ưới dạng
Place
, chỉ bao gồm các trường mà bạn đã yêu cầu bằng cách sử dụng trường
danh sách. Không được để trống kết quả dữ liệu địa điểm, vì vậy, chỉ kết quả về địa điểm
có dữ liệu sẽ được trả về (ví dụ: nếu một địa điểm được yêu cầu không có ảnh,
trường ảnh sẽ không xuất hiện trong kết quả).
Để truy cập các trường dữ liệu, hãy gọi hàm
phương thức.
Ví dụ: để truy cập 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ừ một Tìm kiếm 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 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ề. Người nhận thực hiện việc này, hãy chuyển danh sách giá trị
Place.Field
chỉ định dữ liệu cần trả về. Không có danh sách mặc định nào trả về các trường trong phản hồi.Danh sách trường là một phương pháp thiết kế hiệu quả để đảm bảo rằng bạn sẽ không yêu cầu dữ liệu không cần thiết, giúp tránh thời gian xử lý không cần thiết và các khoản phí thanh toán.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í của mỗi yêu cầu. Để biết thêm thông tin, hãy xem Tác dụng và Thanh toán.
Chỉ định một hoặc nhiều trường sau:
Các trường sau đây kích hoạt SKU Thông tin chi tiết về địa điểm (chỉ mã nhận dạng):
Place.Field.ID
,Place.Field.NAME
,Place.Field.PHOTO_METADATAS
Các trường sau đây kích hoạt SKU Thông tin chi tiết về địa điểm (Chỉ vị trí):
Place.Field.ADDRESS_COMPONENTS
,Place.Field.ADDRESS
,Place.Field.LAT_LNG
,Place.Field.PLUS_CODE
,Place.Field.TYPES
,Place.Field.VIEWPORT
Các trường sau đây kích hoạt SKU Thông tin chi tiết về địa điểm (Cơ bản):
Place.Field.BUSINESS_STATUS
,Place.Field.ICON_BACKGROUND_COLOR
,Place.Field.ICON_URL
,Place.Field.UTC_OFFSET
,Place.Field.WHEELCHAIR_ACCESSIBLE_ENTRANCE
Các trường sau đây kích hoạt SKU Thông tin chi tiết về địa điểm (Nâng cao):
Place.Field.CURRENT_OPENING_HOURS
,Place.Field.SECONDARY_OPENING_HOURS
,Place.Field.PHONE_NUMBER
,Place.Field.PRICE_LEVEL
,Place.Field.RATING
,Place.Field.OPENING_HOURS
,Place.Field.USER_RATINGS_TOTAL
,Place.Field.WEBSITE_URI
Các trường sau đây kích hoạt SKU Thông tin chi tiết về địa điểm (ưu tiên):
Place.Field.CURBSIDE_PICKUP
,Place.Field.DELIVERY
,Place.Field.DINE_IN
,Place.Field.EDITORIAL_SUMMARY
,Place.Field.RESERVABLE
,Place.Field.REVIEWS
,Place.Field.SERVES_BEER
,Place.Field.SERVES_BREAKFAST
,Place.Field.SERVES_BRUNCH
,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ã vùng dùng để định dạng phản hồi, được chỉ định làm mã CLDR gồm hai ký tự. Không có giá trị mặc định.
Nếu tên quốc gia của trường
Place.Field.ADDRESS
trong câu trả lời khớp vớiregionCode
, mã quốc gia bị bỏ khỏiPlace.Field.ADDRESS
.Hầu hết mã CLDR đều giống với mã ISO 3166-1, với một số ngoại lệ đáng chú ý. Ví dụ: ccTLD (miền cấp cao nhất theo mã quốc gia) của Vương quốc Anh là "Vương quốc Anh" (.co.uk) trong khi mã ISO 3166-1 của trang web là "gb" (về mặt kỹ thuật cho pháp nhân "Vương quốc Anh và Bắc Ireland"). Tuỳ theo luật hiện hành, thông số này có thể ảnh hưởng đến kết quả.
Để đặ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 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 truy vấn và chọn địa điểm trong tính năng tự động hoàn thành tìm kiếm của người dùng thành một phiên riêng biệt cho mục đích thanh toán. Mã thông báo phiên được chuyển vào Chi tiết địa điểm (Mới) những lệnh gọi theo sau lệnh gọi Tự động hoàn thành (Mới). Để biết thêm thông tin, hãy xem 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 yêu cầu các trường ID
, NAME
và ADDRESS
cho thuộc tính
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.NAME, Place.Field.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);