SDK Địa điểm dành cho Android 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 Android, 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 SDK Địa điểm dành cho 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ụ API Địa điểm, hãy xem phần Thiết lập dự á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 đượ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.
Các phần sau đây mô tả các 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 (loại) liên kết với địa điểm đó. SDK Địa điểm cho Android phiên bản 3.3.0 trở lên sẽ thêm nhiều giá trị loại mới. Để xem danh sách đầy đủ, hãy xem phần Các loại địa điểm mở rộng.
Phương thức Place.getPlaceTypes()
trả về các giá trị loại dưới dạng danh sách giá trị chuỗi. Các giá trị được trả về phụ thuộc vào phiên bản SDK Địa điểm dành cho Android:
SDK Địa điểm dành cho Android (Mới): Trả về các chuỗi do Bảng A và Bảng B xác định hiển thị trên Loại địa điểm (Mới), bao gồm tất cả các loại địa điểm đã thêm trong phiên bản 3.3.0.
SDK Địa điểm dành cho 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.
Xem bài đánh giá về địa điểm
SDK Địa điểm dành cho Android (Mới) thêm lớp Review
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 một thuộc tính phân bổ và một thuộc tính phân bổ 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 công hoặc thông tin ghi công tác giả. Để biết thêm thông tin, hãy xem bài viết Hiển thị bài đánh giá.
Để biết thêm thông tin, hãy xem tài liệu về thuộc tính phân bổ.
Truy cập mã ngôn ngữ của tên địa điểm
Phương thức Place.getName()
hiện có 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 đưa Place.Field.DISPLAY_NAME
vào danh sách trường của yêu cầu thông tin 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 mã ngôn ngữ 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. 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
SDK Địa điểm dành cho Android (Mới) thêm tham số yêu cầu mã khu vực vào Thông tin chi tiết về địa điểm. Mã khu vực được dùng để định dạng phản hồi, được chỉ định dưới dạng giá trị mã CLDR gồm hai 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 khỏi địa chỉ.
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"). Tham số này có thể ảnh hưởng đến kết quả dựa trên luật hiện hành.
Yêu cầu mẫu
Để xem ví dụ đầy đủ, hãy xem phần Chi tiết về địa điểm (Mới).