Hướng dẫn này nêu bật những điểm khác biệt chính giữa Places Service cũ và lớp Place mới. Việc nâng cấp lên lớp Place mang lại những lợi ích đáng kể, bao gồm cả hiệu suất được cải thiện và một mô hình định giá mới. Để khai thác tối đa Places và đảm bảo ứng dụng của bạn luôn được cập nhật, hãy tìm hiểu kỹ những thay đổi được nêu chi tiết trong hướng dẫn này.
Các phương pháp hay nhất về việc thanh toán khi di chuyển
Hướng dẫn này áp dụng nếu mức sử dụng API của bạn đủ cao để chuyển sang mức giá cấp thứ hai. Khi di chuyển sang phiên bản mới hơn của một API, bạn cũng sẽ bị tính phí cho một SKU khác. Để tránh tăng chi phí trong tháng chuyển đổi, bạn nên chuyển sang dùng các API mới trong quá trình sản xuất càng gần đầu tháng càng tốt. Điều này sẽ đảm bảo bạn đạt được các bậc giá theo tháng tiết kiệm chi phí nhất trong tháng di chuyển. Để biết thông tin về các bậc giá, hãy xem trang định giá và câu hỏi thường gặp về giá.
Bật Places API
Lớp Place dựa vào dịch vụ Places API. Để 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 Places API (Mới) trong dự án Google Cloud của mình. Để biết thêm thông tin, hãy xem phần Bắt đầu sử dụng.
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 một 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 Promise và hoạt động không đồng bộ. |
Các phương thức yêu cầu phải có chế độ kiểm tra PlacesServiceStatus . |
Không cần kiểm tra trạng thái bắt buộc, có thể sử dụng quy trình xử lý lỗi tiêu chuẩn. |
Các trường dữ liệu về địa điểm được định dạng bằng snake case. | Các trường dữ liệu địa điểm được định dạng bằng quy tắc viết hoa chữ cái đầu của từ (camel case). |
Chỉ giới hạn ở một nhóm cố định gồm các loại địa điểm và các 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à các 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ư Lời hứa. Lớp Place hiển thị các trường dữ liệu địa điểm và loại địa điểm giống như Places Service 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 biết cách các tính năng của Places Service liên kết đến các tính năng của lớp Place:
Tải thư viện Places
Cách ứng dụng của bạn tải thư viện Places 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 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ạ ở đâ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 Maps JavaScript API.
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 sang dùng phiên bản mới nhất của Places API:
- Di chuyển sang Place Details
- Di chuyển sang tính năng Tìm kiếm bằng văn bản (Mới)
- Di chuyển sang Nearby Search (Mới)
- Di chuyển sang Place Photos
- Di chuyển sang Bài đánh giá về địa điểm
- Di chuyển sang tính năng Place Autocomplete