Places SDK for Android hỗ trợ Thông tin chi tiết về địa điểm (Cũ). Nếu bạn đã quen thuộc với Places SDK for Android (Legacy), thì Place Details (New) (Chi tiết về địa điểm (Mới)) 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ả các API, hãy xem Places SDK for Android (mới).
Bạn phải khởi chạy ứng dụng bằng cách gọi phương thức
Places.initializeWithNewPlacesApiEnabled()
. Để biết thêm thông tin về cách chọn dịch vụ Places API, hãy xem phần Thiết lập dự án trên Google Cloud.Bạn phải che trường. Bạn phải chỉ định những trường mà bạn muốn 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.
Các phần sau đây mô tả những thay đổi khác.
Truy cập vào các loại địa điểm mới
Mỗi địa điểm có thể có một hoặc nhiều giá trị type được liên kết với địa điểm đó. Places SDK for Android phiên bản 3.3.0 trở lên bổ sung nhiều giá trị loại mới. Để xem danh sách đầy đủ, hãy xem Các loại địa điểm mở rộng.
Phương thức Place.getPlaceTypes()
trả về các giá trị kiểu dưới dạng danh sách giá trị chuỗi. Các giá trị được trả về sẽ tuỳ thuộc vào phiên bản Places SDK for Android mà bạn dùng:
Places SDK for Android (Mới): Trả về các chuỗi do Bảng A và Bảng B xác định trong Loại địa điểm (Mới), bao gồm tất cả các loại địa điểm được thêm trong phiên bản 3.3.0.
Places SDK for Android: Trả về các enum do
Place.Types
xác định, không bao gồm các loại mới được thêm vào phiên bản 3.3.0 trở lên.
Truy cập vào bài đánh giá về địa điểm
Places SDK for Android (mới) thêm lớp Review
. Lớp này chứa bài đánh giá về một địa điểm. Đối tượng Place
có thể chứa tối đa 5 bài đánh giá.
Lớp Review
cũng có thể chứa thông tin ghi công và thông tin ghi công tác giả. Nếu hiển thị bài đánh giá trong ứng dụng, bạn cũng phải hiển thị mọi thông tin ghi nhận quyền tác giả hoặc thông tin ghi nhận tác giả. Để biết thêm thông tin, hãy xem phần Hiển thị bài đánh giá.
Để biết thêm thông tin, hãy xem tài liệu về phân bổ.
Mã ngôn ngữ của tên địa điểm truy cập
Trong Places SDK for Android (cũ), phương thức Place.getName()
trả về một chuỗi văn bản chứa tên của một địa điểm. Để điền tên địa điểm vào đối tượng Place
, bạn phải thêm Place.Field.DISPLAY_NAME
vào danh sách trường của yêu cầu chi tiết về địa điểm.
Đối tượng Place
hiện chứa mã ngôn ngữ cho chuỗi tên. Để điền đối tượng Place
bằng mã ngôn ngữ, bạn phải:
Thêm
Place.Field.DISPLAY_NAME
vào danh sách trường của yêu cầu. Giá trị này định cấu hình phản hồi để bao gồm cả tên địa điểm và mã ngôn ngữ trong đối tượngPlace
.Gọi
PlacesClient.fetchPlace()
.PlacesClient.findCurrentPlace()
không hỗ trợ trường mã ngôn ngữ.Sử dụng phương thức
Place.getNameLanguageCode()
để truy cập vào trường mã ngôn ngữ trong đối tượngPlace
.
Đặt mã vùng
Places SDK for Android (Mới) thêm tham số yêu cầu mã khu vực vào phần Chi tiết về địa điểm. Mã khu vực được dùng để định dạng phản hồi, được chỉ định là giá trị mã CLDR gồm 2 ký tự. Tham số này cũng có thể gây ra hiệu ứng thiên vị đối với kết quả tìm kiếm. Không có giá trị mặc định. Bạn phải bật SDK mới để đặt mã khu vực.
Nếu tên quốc gia của trường địa chỉ trong phản hồi khớp với mã khu vực, thì mã quốc gia sẽ bị bỏ qua trong địa chỉ.
Hầu hết mã CLDR đều giống với mã ISO 3166-1, 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 của quốc gia này là "gb" (về mặt kỹ thuật là cho thực thể "Vương quốc Anh và Bắc Ireland"). Tham số này có thể ảnh hưởng đến kết quả dựa trên luật hiện hành.
Ví dụ về yêu cầu
Để xem ví dụ đầy đủ, hãy xem Thông tin chi tiết về địa điểm (Mới).