Places SDK for Android (cũ) hỗ trợ Thông tin chi tiết về địa điểm (cũ). Nếu bạn đã quen thuộc với tính năng Place Details (Phiên bản cũ), thì Place Details (Phiên bản 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 phần Mức sử dụng và thanh toán.
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 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 cho Android phiên bản 3.3.0 trở lên bổ sung nhiều giá trị kiểu 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 cho Android mà bạn sử dụng:
Places SDK cho 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 cho Android (Cũ): Trả về các enum do
Place.Typesxá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
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 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ề thông tin ghi nhận quyền tác giả.
Mã ngôn ngữ của tên địa điểm truy cập
Trong Places SDK for Android (Legacy), 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_NAMEvà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 hai ký tự. Tham số này cũng có thể có 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 phần Chi tiết về địa điểm (Phiên bản cũ).