Để nhận thông tin cập nhật về dữ liệu chuyến đi từ Google Maps hoặc Waze, hãy định cấu hình phần phụ trợ bằng một trong các cách sau:
- Phương thức kéo bằng Navigation Connect API, hoặc
- Phương thức đẩy hướng đến sự kiện bằng Google Cloud Pub/Sub.
Cách 1: Sử dụng Navigation Connect API
Để tìm nạp trạng thái chuyến đi mới nhất theo cách thủ công, hãy gọi phương thức GetTrip bằng mã nhận dạng chuyến đi duy nhất.
Mẫu sau đây cho thấy cách gọi API từ dòng lệnh bằng cách sử dụng Thông tin xác thực mặc định của ứng dụng (ADC) để uỷ quyền cho yêu cầu từ máy chủ đến máy chủ.
#!/bin/bash
gcloud auth application-default login
access_token="$(gcloud auth application-default print-access-token)"
# Call the GetTrip method
curl -X GET "https://navigationconnect.googleapis.com/v1/projects/PROJECT_ID/trips/TRIP_ID" \
-H "Authorization: Bearer ${access_token}" \
-H "Content-Type: application/json"
Tuỳ chỉnh định dạng đường nhiều đoạn (chỉ trên Waze)
Nếu đã bật tính năng báo cáo tuyến đường còn lại trong quá trình tạo chuyến đi, bạn có thể tuỳ chỉnh cách biểu thị đường nhiều đoạn của tuyến đường còn lại được trả về khi gọi phương thức GetTrip.
Để chọn định dạng cho đường nhiều đoạn, hãy thêm tham số routePolylineFormat vào yêu cầu của bạn. Các định dạng được hỗ trợ bao gồm:
ENCODED: Một chuỗi hình nhiều đường được mã hoá tiêu chuẩn (5 chữ số thập phân).S2ENCODED: Một S2Polyline được mã hoá.GEO_JSON: Định dạng GeoJSON LineString.
Cách 2: Sử dụng Google Cloud Pub/Sub
Để nhận thông tin cập nhật thường xuyên về chuyến đi, hãy đăng ký một chủ đề trên Google Cloud Pub/Sub. Sau khi người lái xe đồng ý, Navigation Connect sẽ gửi thông tin cập nhật trực tiếp đến chủ đề của bạn.
Để xem phần giới thiệu về việc nhắn tin, hãy xem phần Bắt đầu nhanh với Pub/Sub.
Các phần sau đây mô tả cách sử dụng Google Cloud Pub/Sub để nhận dữ liệu từ một phiên điều hướng bằng Google Maps hoặc Waze.
1. Tạo một chủ đề
Tạo một chủ đề có tên chính xác là navigation_connect_trip_notifications trong dự án Google Cloud của bạn, như sau:
- Bật API Pub/Sub.
- Chuyển đến trang chủ đề Pub/Sub trong Google Cloud Console.
- Nhấp vào Tạo chủ đề.
Nhập
navigation_connect_trip_notificationsvào trường Mã nhận dạng chủ đề.Nhấp vào Tạo.
Bảng điều khiển sẽ hiển thị tên chủ đề đầy đủ dưới dạng projects/project-number/topics/navigation_connect_trip_notifications, trong đó project-number là số dự án duy nhất của bạn.
2. Cấp quyền xuất bản cho tài khoản dịch vụ Navigation Connect
Google sử dụng một tài khoản dịch vụ để xuất bản thông tin cập nhật về chuyến đi lên các chủ đề Google Cloud Pub/Sub. Để nhận thông tin cập nhật trong chủ đề của bạn, hãy cấp quyền projects.topics.publish cho chủ đề này đối với tài khoản dịch vụ sau: geo-navigation-connect-pubsub@system.gserviceaccount.com.
Để biết thêm thông tin, hãy xem tài liệu về Pub/Sub liên quan đến chế độ kiểm soát quyền truy cập.
3. Tích hợp với phần phụ trợ
Để xử lý các bản cập nhật, hãy viết một ứng dụng phía máy chủ xác thực và đăng ký chủ đề của bạn. Sử dụng Thư viện ứng dụng Pub/Sub để đơn giản hoá quá trình phát triển. Để kiểm thử, bạn cũng có thể sử dụng GCloud CLI và Google Console.
4. Kiểm thử gói thuê bao
Xác minh chế độ thiết lập bằng gcloud CLI hoặc Cloud Console.
gcloud CLI
Kéo thông báo từ một gói thuê bao (ví dụ: my-sub) bằng lệnh sau:
gcloud pubsub subscriptions pull my-sub --auto-ack
Cloud Console
Trong bảng điều khiển Google Cloud, hãy thực hiện các bước sau:
- Mở trang Kênh đã đăng ký.
- Chọn gói thuê bao của bạn rồi nhấp vào thẻ Tin nhắn.
- Nhấp vào Kéo.
Bước tiếp theo
Sau khi bạn bắt đầu nhận dữ liệu chuyến đi, hãy phân tích cú pháp dữ liệu để sử dụng trong các hệ thống và ứng dụng của bạn.