Hướng dẫn này nêu bật các điểm khác biệt chính giữa dịch vụ Địa điểm cũ và lớp Địa điểm mới. Việc nâng cấp lên lớp Địa điểm mang lại nhiều lợi thế đáng kể, bao gồm cả hiệu suất được cải thiện và mô hình định giá mới. Để khai thác tối đa tính năng Địa điểm và đảm bảo ứng dụng của bạn luôn được cập nhật, hãy làm quen với các thay đổi được nêu chi tiết trong hướng dẫn này.
Bật API Địa điểm
Lớp Địa điểm dựa vào dịch vụ API Địa điểm. Để sử dụng các tính năng của lớp Địa điểm mới, trước tiên, bạn phải bật API Địa điểm (Mới) trong dự án Google Cloud. Để biết thêm thông tin, hãy xem phần Bắt đầu.
Thay đổi chung
Bảng sau đây liệt kê một số điểm khác biệt chính giữa PlacesService
và Place
:
PlacesService (Cũ) |
Place (Mới) |
---|---|
Các phương thức yêu cầu sử dụng lệnh gọi lại để xử lý đối tượng kết quả và phản hồi google.maps.places.PlacesServiceStatus . |
Sử dụng Lời hứa và hoạt động không đồng bộ. |
Các phương thức yêu cầu kiểm tra PlacesServiceStatus . |
Không cần kiểm tra trạng thái, có thể sử dụng tính năng xử lý lỗi chuẩn. |
Trường dữ liệu vị trí được định dạng bằng cách sử dụng kiểu viết thường. | Trường dữ liệu vị trí được định dạng bằng cách sử dụng kiểu viết hoa camel. |
Chỉ giới hạn ở một nhóm cố định các loại địa điểm và trường dữ liệu địa điểm. | Cung cấp nhiều lựa chọn hơn về các loại địa điểm và trường dữ liệu địa điểm được cập nhật thường xuyên. |
Các thay đổi dành riêng cho API
Lớp Place cung cấp một API để sử dụng thư viện Places và hỗ trợ các mẫu sử dụng hiện đại như Promises. Lớp Địa điểm hiển thị các trường dữ liệu địa điểm và loại địa điểm giống như Dịch vụ địa điểm cũ, đồng thời bao gồm nhiều giá trị mới cho các trường dữ liệu địa điểm và loại địa điểm.
Bảng này cho thấy cách các tính năng của dịch vụ Địa điểm liên kết với các tính năng của lớp Địa điểm:
Tải thư viện Địa điểm
Cách ứng dụng của bạn tải thư viện Địa điểm phụ thuộc vào trình tải khởi động đang được sử dụng. Nếu ứng dụng của bạn sử dụng tính năng nhập thư viện động, bạn có thể tải các thư viện cần thiết trong thời gian chạy bằng cách sử dụng toán tử await
để gọi importLibrary()
, như minh hoạ dưới đây:
const { Place } = await google.maps.importLibrary("places");
Nếu ứng dụng của bạn sử dụng thẻ tải tập lệnh trực tiếp, hãy yêu cầu thư viện places
trong tập lệnh trình tải:
<script async
src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&loading=async&libraries=places&callback=initMap">
</script>
Tìm hiểu thêm về cách tải API JavaScript của Maps.
Phần này bao gồm các hướng dẫn sau đây để giúp bạn di chuyển ứng dụng của mình nhằm sử dụng phiên bản mới nhất của API Địa điểm: